blob: 483451ca3471f307fb5cd2ee44e3369bf4d6bba9 [file] [log] [blame]
kevino@webkit.org97376ad2008-11-22 03:08:15 +000012008-11-15 Kevin Watters <kevinwatters@gmail.com>
2
3 Reviewed by Kevin Ollivier.
4
5 Improve wx image drawing performance considerably when using wxGraphicsContext
6 by avoiding unnecessary copies and drawing.
7
8 https://bugs.webkit.org/show_bug.cgi?id=22404
9
10 * platform/graphics/wx/ImageWx.cpp:
11 (WebCore::BitmapImage::draw):
12 (WebCore::BitmapImage::drawPattern):
13
14
kevino@webkit.org80a35a42008-11-22 02:27:48 +0000152008-11-21 Kevin Watters <kevinwatters@gmail.com>
16
17 Reviewed by Kevin Ollivier.
18
19 Implementation of AffineTransform::mapRect for wx.
20
21 https://bugs.webkit.org/show_bug.cgi?id=22401
22
23 * platform/graphics/wx/AffineTransformWx.cpp:
24 (WebCore::AffineTransform::mapRect):
25
justin.garcia@apple.come2482302008-11-22 01:50:42 +0000262008-11-21 Justin Garcia <justin.garcia@apple.com>
27
28 Reviewed by Darin Adler.
29
30 <rdar://problem/5381788> Match NSTextView editing behavior at the end of hyperlink text
31
32 Change link editing behavior to match TextEdit and MS Word when editing before and after
33 a link (Pages has two caret positions at link boundaries, Thunderbird and FF behave like we
34 used to, so it's difficult to get out of link editing mode):
35 When inserting before or after a link, always insert content outside of the link. This
36 makes it impossible to get stuck in link editing mode, while making it slightly more
37 difficult to edit link labels. WebKit editors that care about this can add UI for editing
38 link labels, like GMail and GoogleDocs have done. We never actually had any bugs complaining
39 about how it was difficult to edit link labels at the start/end, the code was just introduced
40 with another bug fix without much thought.
41
42 Don't remember removed links anymore, no other editor does this and it made it
43 difficult/impossible to get out of link editing mode. This code was added to fix
44 <rdar://problem/4069359>, which is fixed instead by removing the styles from an
45 enclosing anchor element from those styles that we remember when we delete content.
46
47 * editing/CompositeEditCommand.cpp:
48 (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary):
49 * editing/CompositeEditCommand.h:
50 * editing/DeleteSelectionCommand.cpp:
51 (WebCore::removeEnclosingAnchorStyle):
52 (WebCore::DeleteSelectionCommand::saveTypingStyleState):
53 (WebCore::DeleteSelectionCommand::doApply):
54 * editing/DeleteSelectionCommand.h:
55 * editing/EditCommand.cpp:
56 (WebCore::EditCommand::apply):
57 * editing/Editor.cpp:
58 (WebCore::Editor::appliedEditing):
59 * editing/InsertTextCommand.cpp:
60 (WebCore::InsertTextCommand::prepareForTextInsertion):
61 (WebCore::InsertTextCommand::input):
62 * editing/RemoveFormatCommand.cpp:
63 (WebCore::RemoveFormatCommand::doApply):
64 * editing/SelectionController.cpp:
65 (WebCore::SelectionController::setSelection):
66 * editing/SelectionController.h:
67
alice.liu@apple.com5aaa74c2008-11-22 01:38:03 +0000682008-11-21 Alice Liu <alice.liu@apple.com>
69
70 Rubber-stamped by Dan Bernstein.
71
72 fixed <rdar://6340771> crashing on print preview
73
74 * platform/graphics/win/GraphicsContextCGWin.cpp:
75 (WebCore::GraphicsContext::drawWindowsBitmap):
76
darin@chromium.orgb3131e02008-11-22 00:11:28 +0000772008-11-21 Darin Fisher <darin@chromium.org>
78
79 Reviewed by Geoffrey Garen.
80
81 https://bugs.webkit.org/show_bug.cgi?id=22390
82 Abstract away JSC:: usage in WebCore/xml
83
84 * bindings/js/ScriptString.h: Added.
85 (WebCore::ScriptString::ScriptString):
86 (WebCore::ScriptString::operator JSC::UString):
87 (WebCore::ScriptString::isNull):
88 (WebCore::ScriptString::size):
89 (WebCore::ScriptString::operator=):
90 (WebCore::ScriptString::operator+=):
91 * inspector/InspectorController.cpp:
92 (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
93 (WebCore::InspectorResource::setXMLHttpRequestProperties):
94 (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
95 * inspector/InspectorController.h:
96 * xml/XMLHttpRequest.cpp:
97 (WebCore::XMLHttpRequest::responseText):
98 (WebCore::XMLHttpRequest::clearResponse):
99 (WebCore::XMLHttpRequest::dropProtection):
100 (WebCore::XMLHttpRequest::didFinishLoading):
101 (WebCore::XMLHttpRequest::didReceiveData):
102 * xml/XMLHttpRequest.h:
103 (WebCore::XMLHttpRequest::setLastSendURL):
104
weinig@apple.com9c73bf72008-11-21 22:54:40 +00001052008-11-21 Sam Weinig <sam@webkit.org>
106
107 Reviewed by Geoffrey Garen.
108
109 Destroy script decoded data on a zero-delay timer after
110 decoding. This means we now have no decoded script data
111 at the end of Membuster.
112
113 * loader/CachedScript.cpp:
114 (WebCore::CachedScript::CachedScript):
115 (WebCore::CachedScript::allClientsRemoved):
116 (WebCore::CachedScript::script):
117 (WebCore::CachedScript::decodedDataDeletionTimerFired):
118 * loader/CachedScript.h:
119
simon.fraser@apple.com0ebe80d2008-11-21 22:49:22 +00001202008-11-21 Simon Fraser <simon.fraser@apple.com>
121
122 Reviewed by Darin Adler
123
124 https://bugs.webkit.org/show_bug.cgi?id=22159
125
126 RenderBox::absoluteClippedOverflowRect() needs to inflate the rect by
127 maximalOutlineSize(), since a child might have an outline which projects
128 outside the parent overflowRect().
129
130 We also need to ensure that maximalOutlineSize() is updated early in styleDidChange,
131 so that it is valid for these repaints.
132
133 Test: fast/repaint/outline-child-repaint.html
134
135 * WebCore.xcodeproj/project.pbxproj:
136 * rendering/RenderBox.cpp:
137 (WebCore::RenderBox::styleDidChange):
138 (WebCore::RenderBox::absoluteClippedOverflowRect):
139
jmalonzo@webkit.org0bc70ae2008-11-21 22:03:02 +00001402008-11-21 Jan Michael Alonzo <jmalonzo@webkit.org>
141
142 Gtk, Qt, and Wx build fix.
143
144 Add LinkHash.cpp in the build scripts.
145 Add LinkHash.h to Gtk's build script.
146
147 LinkHash.cpp/h was introduced in r38661.
148
149 * GNUmakefile.am:
150 * WebCore.pro:
151 * WebCoreSources.bkl:
152
weinig@apple.comff029502008-11-21 21:40:46 +00001532008-11-21 Sam Weinig <sam@webkit.org>
154
155 Reviewed by Dan Bernstein.
156
157 Third step in https://bugs.webkit.org/show_bug.cgi?id=22394
158 Be more eager in destroying script decoded data
159
160 Destroy the decoded data when all clients are removed from a CachedScript.
161
162 * loader/CachedScript.cpp:
163 (WebCore::CachedScript::allClientsRemoved):
164 * loader/CachedScript.h:
165 (WebCore::CachedScript::allClientsRemoved):
166
dino@apple.com030a4f32008-11-21 20:01:22 +00001672008-11-21 Pierre-Olivier Latour <pol@apple.com>
168
169 Reviewed by Dan Bernstein.
170
171 WebKit should be using Device RGB colorspace everywhere for
172 consistency.
173
174 https://bugs.webkit.org/show_bug.cgi?id=22300
175
176 * page/mac/AccessibilityObjectWrapper.mm:
177 (CreateCGColorIfDifferent):
178 * platform/graphics/mac/ColorMac.h:
179 * platform/graphics/mac/ColorMac.mm:
180 (WebCore::nsColor):
181 (+[WebCoreControlTintObserver controlTintDidChange]):
182 * rendering/RenderThemeMac.mm:
183 (WebCore::convertNSColorToColor):
184 (WebCore::menuBackgroundColor):
185
jchaffraix@webkit.org29c44b12008-11-21 19:32:03 +00001862008-11-20 Julien Chaffraix <jchaffraix@webkit.org>
187
188 Reviewed by Darin Adler.
189
190 Bug 22388: Add JSInterfaceName to the .in files
191 https://bugs.webkit.org/show_bug.cgi?id=22388
192
193 Add JSInterfaceName that is similar to interfaceName but
194 for the JS wrappers. JSInterfaceName is always equal to interfaceName
195 unless explicitly set.
196
197 * dom/make_names.pl:
198 * html/HTMLTagNames.in:
199 * svg/svgtags.in:
200
weinig@apple.comfffcbe62008-11-21 18:44:42 +00002012008-11-21 Sam Weinig <sam@webkit.org>
202
203 Reviewed by Geoffrey Garen.
204
205 Second step in https://bugs.webkit.org/show_bug.cgi?id=22394
206 Be more eager in destroying script decoded data
207
208 Use a new CachedScriptSourceProvider to keep CachedScripts as
209 CachedScripts, even down into JSC. This has the added benefit
210 of showing the CachedScripts as live in the Caches window.
211
212 * GNUmakefile.am:
213 * WebCore.vcproj/WebCore.vcproj:
214 * WebCore.xcodeproj/project.pbxproj:
215 * bindings/js/CachedScriptSourceProvider.h: Added.
216 (WebCore::CachedScriptSourceProvider::create):
217 (WebCore::CachedScriptSourceProvider::~CachedScriptSourceProvider):
218 (WebCore::CachedScriptSourceProvider::getRange):
219 (WebCore::CachedScriptSourceProvider::data):
220 (WebCore::CachedScriptSourceProvider::length):
221 (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
222 (WebCore::makeSource):
223 * dom/ScriptElement.cpp:
224 (WebCore::ScriptElementData::notifyFinished):
225 * dom/XMLTokenizer.cpp:
226 (WebCore::XMLTokenizer::notifyFinished):
227 * html/HTMLTokenizer.cpp:
228 (WebCore::HTMLTokenizer::notifyFinished):
229
brettw@chromium.org51435592008-11-21 18:22:55 +00002302008-11-21 Brett Wilson <brettw@chromium.org>
231
232 Fix debug-only build bustage due to a typo in an assert, and add new
233 files to the Windows build.
234
235 * Info.plist:
236 * WebCore.vcproj/WebCore.vcproj:
237 * platform/LinkHash.h:
238 (WebCore::LinkHashHash::avoidDeletedValue):
239
brettw@chromium.org696b4e12008-11-21 17:07:30 +00002402008-11-20 Brett Wilson <brettw@chromium.org>
241
242 Reviewed by Eric Seidel.
243
244 https://bugs.webkit.org/show_bug.cgi?id=22131
245
246 Factor out visited link hashing and types into a new file, LinkHash.
247 This also changes the hash type to 64 bits, but does not actually use
248 the extra bits yet.
249
250 * WebCore.xcodeproj/project.pbxproj:
251 (WebCore::CSSStyleSelector::SelectorChecker::checkPseudoState):
252 (WebCore::CSSStyleSelector::SelectorChecker::visitedStateChanged):
253 * css/CSSStyleSelector.h:
254 (WebCore::CSSStyleSelector::visitedStateChanged):
255 * dom/Document.cpp:
256 * dom/Document.h:
257 * page/Page.cpp:
258 (WebCore::Page::visitedStateChanged):
259 * page/Page.h:
260 * page/PageGroup.cpp:
261 (WebCore::PageGroup::isLinkVisited):
262 (WebCore::PageGroup::addVisitedLink):
263 * page/PageGroup.h:
264 * platform/LinkHash.cpp: Added.
265 (WebCore::findSlashDotDotSlash):
266 (WebCore::findSlashSlash):
267 (WebCore::findSlashDotSlash):
268 (WebCore::containsColonSlashSlash):
269 (WebCore::cleanPath):
270 (WebCore::matchLetter):
271 (WebCore::needsTrailingSlash):
272 (WebCore::visitedLinkHash):
273 * platform/LinkHash.h: Added
274 (WebCore::LinkHashHash::hash):
275 (WebCore::LinkHashHash::equal):
276 (WebCore::LinkHashHash::avoidDeletedValue):
277
zimmermann@webkit.org7dc20052008-11-21 15:20:50 +00002782008-11-21 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
279
280 Reviewed by Alexey Proskuryakov.
281
zimmermann@webkit.org727f5ef2008-11-21 16:47:04 +0000282 No need to use getElementsByTagNameNS() in WML documents. Revert to using getElementByTagName() again.
283
284 * wml/WMLPElement.cpp:
285 (WebCore::WMLPElement::insertedIntoDocument):
286
2872008-11-21 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
288
289 Reviewed by Alexey Proskuryakov.
290
zimmermann@webkit.orgcb6f2072008-11-21 15:25:26 +0000291 Fix some coding style/formatting issues in WMLAElement.
292
293 * wml/WMLAElement.cpp:
294 (WebCore::WMLAElement::parseMappedAttribute):
295 (WebCore::WMLAElement::defaultEventHandler):
296 * wml/WMLAElement.h:
297
2982008-11-21 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
299
300 Reviewed by Alexey Proskuryakov.
301
zimmermann@webkit.org7dc20052008-11-21 15:20:50 +0000302 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22399
303
304 Implement <anchor> support for WML, add WMLVariables file containing helper functions
305 for variable support, and a WMLTaskElement base class for WMLPrev/Go/RefreshElement.
306
307 * css/CSSStyleSelector.cpp:
308 (WebCore::linkAttribute):
309 * rendering/HitTestResult.cpp:
310 (WebCore::HitTestResult::absoluteImageURL):
311 (WebCore::HitTestResult::absoluteLinkURL):
312 (WebCore::HitTestResult::isLiveLink):
313 * wml/WMLAnchorElement.cpp: Added.
314 (WebCore::WMLAnchorElement::WMLAnchorElement):
315 (WebCore::WMLAnchorElement::~WMLAnchorElement):
316 (WebCore::WMLAnchorElement::defaultEventHandler):
317 * wml/WMLAnchorElement.h: Added.
318 (WebCore::WMLAnchorElement::registerTask):
319 * wml/WMLTagNames.in:
320 * wml/WMLTaskElement.cpp: Added.
321 (WebCore::WMLTaskElement::WMLTaskElement):
322 (WebCore::WMLTaskElement::~WMLTaskElement):
323 (WebCore::WMLTaskElement::insertedIntoDocument):
324 (WebCore::WMLTaskElement::addVariableSetter):
325 (WebCore::WMLTaskElement::removeVariableSetter):
326 (WebCore::WMLTaskElement::storeVariableState):
327 * wml/WMLTaskElement.h: Added.
328 * wml/WMLVariables.cpp: Added.
329 (WebCore::isValidVariableCharacter):
330 (WebCore::isValidVariableReferenceCharacter):
331 (WebCore::isValidVariableName):
332 (WebCore::substituteVariableReferences):
333 * wml/WMLVariables.h: Added.
334 (WebCore::):
335
jchaffraix@webkit.orgaee253e2008-11-21 14:30:51 +00003362008-11-21 Julien Chaffraix <jchaffraix@pleyo.com>
337
338 Rubber-stamped by Alexey Proskuryakov.
339
340 Build fix when building without WORKERS on non-POSIX, non-WINDOWS
341 machine.
342
343 Spotted by Mario Bensi.
344
345 * platform/text/TextCodecICU.cpp:
346
weinig@apple.com072de3b2008-11-21 05:35:22 +00003472008-11-20 Sam Weinig <sam@webkit.org>
348
349 Reviewed by Geoffrey Garen.
350
weinig@apple.com79099002008-11-21 05:51:28 +0000351 First step in https://bugs.webkit.org/show_bug.cgi?id=22394
352 Be more eager in destroying script decoded data
353
354 Pass data to be used in script execution around as JSC::SourceCode instead
355 of a source, url, and starting line.
356
357 * bindings/js/ScriptController.cpp:
358 (WebCore::ScriptController::evaluate):
359 * bindings/js/ScriptController.h:
360 * bindings/js/StringSourceProvider.h:
361 (WebCore::makeSource):
362 * bindings/js/WorkerScriptController.cpp:
363 (WebCore::WorkerScriptController::evaluate):
364 * bindings/js/WorkerScriptController.h:
365 * dom/ScriptElement.cpp:
366 (WebCore::ScriptElement::insertedIntoDocument):
367 (WebCore::ScriptElement::childrenChanged):
368 (WebCore::ScriptElementData::evaluateScript):
369 (WebCore::ScriptElementData::notifyFinished):
370 * dom/ScriptElement.h:
371 * dom/WorkerThread.cpp:
372 (WebCore::WorkerThread::workerThread):
373 * dom/XMLTokenizer.cpp:
374 (WebCore::XMLTokenizer::notifyFinished):
375 * dom/XMLTokenizerLibxml2.cpp:
376 (WebCore::XMLTokenizer::endElementNs):
377 * dom/XMLTokenizerQt.cpp:
378 (WebCore::XMLTokenizer::parseEndElement):
379 * html/HTMLTokenizer.cpp:
380 (WebCore::HTMLTokenizer::scriptHandler):
381 (WebCore::HTMLTokenizer::scriptExecution):
382 (WebCore::HTMLTokenizer::notifyFinished):
383 * html/HTMLTokenizer.h:
384 * loader/FrameLoader.cpp:
385 (WebCore::FrameLoader::executeScript):
386 * loader/FrameLoader.h:
387
3882008-11-20 Sam Weinig <sam@webkit.org>
389
390 Reviewed by Geoffrey Garen.
391
weinig@apple.com072de3b2008-11-21 05:35:22 +0000392 Fix for https://bugs.webkit.org/show_bug.cgi?id=22392
393 REGRESION: XMLHttpRequest.responseText does unnecessary trip though WebCore::String
394
395 - Use jsOwnedStringOrNull to avoid conversion to WebCore::String.
396
397 * bindings/js/JSXMLHttpRequestCustom.cpp:
398 (WebCore::JSXMLHttpRequest::responseText):
399 * xml/XMLHttpRequest.idl:
400
simon.fraser@apple.com1dffe8f2008-11-21 01:57:55 +00004012008-11-20 Simon Fraser <simon.fraser@apple.com>
402
403 Reviewed by Dan Bernstein
404
405 https://bugs.webkit.org/show_bug.cgi?id=19623
406
407 When an non-layer object gained a transform, it would only repaint
408 the bounds of the new layer, which could result in redraw artifacts
409 if the new layer was smaller. So if we're gaining a transform, we
410 repaint.
411
412 Test: fast/repaint/change-transform.html
413
414 * rendering/RenderObject.cpp:
415 (WebCore::RenderObject::styleWillChange):
416
adele@apple.com1b99bf62008-11-21 01:54:55 +00004172008-11-20 Adele Peterson <adele@apple.com>
418
419 Reviewed by Darin Adler.
420
421 Fix for <rdar://problem/6111436> Support upload progress events on Windows
422
423 * platform/network/cf/ResourceHandleCFNet.cpp:
424 (WebCore::didSendBodyData): Added.
425 (WebCore::ResourceHandle::start): Hook up didSendBodyData callback.
426
justin.garcia@apple.comd041d1f2008-11-21 01:37:00 +00004272008-11-20 Justin Garcia <justin.garcia@apple.com>
428
429 Reviewed by Darin Adler.
430
431 <rdar://problem/2610675> Blank line that is quoted can't be deleted
432
433 If the caret is in an empty quoted paragraph, and either there is nothing before that
434 paragraph, or what is before is unquoted, and the user presses delete, unquote that
435 paragraph.
436
437 * editing/CompositeEditCommand.cpp:
438 (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph): Added.
439 Removes the line break that holds open an empty paragraph and then attempts to
440 prune the blockquote(s) that held that line break in case they have been emptied
441 out. Places a line break to create in empty unquoted paragraph in place of the
442 quoted one that was removed.
443 * editing/CompositeEditCommand.h:
444 * editing/TypingCommand.cpp:
445 (WebCore::TypingCommand::deleteKeyPressed): Call breakOutOfEmptyBlockquotedParagraph.
446 * editing/htmlediting.cpp:
447 (WebCore::highestEnclosingNodeOfType): Added.
448 * editing/htmlediting.h:
449
simon.fraser@apple.com5f535b92008-11-21 00:44:20 +00004502008-11-20 Dean Jackson <dino@apple.com>
451
452 Reviewed by Antti Koivisto
453
simon.fraser@apple.come5d2c892008-11-21 00:48:46 +0000454 https://bugs.webkit.org/show_bug.cgi?id=21247
455
456 Make transition shorthand property accept transition-delay.
457
458 Test: transitions/transition-shorthand-delay.html
459
460 * css/CSSParser.cpp:
461 (WebCore::CSSParser::parseTransitionShorthand):
462
4632008-11-20 Dean Jackson <dino@apple.com>
464
465 Reviewed by Antti Koivisto
466
simon.fraser@apple.com5f535b92008-11-21 00:44:20 +0000467 https://bugs.webkit.org/show_bug.cgi?id=22368
468
469 Make sure pauseTransition API takes transition delay into account.
470
471 Test: transitions/transition-drt-api-delay.html
472
473 * page/animation/AnimationBase.cpp:
474 (WebCore::AnimationBase::pauseAtTime):
475
simon.fraser@apple.com1a2c6782008-11-21 00:26:29 +00004762008-11-20 Simon Fraser <simon.fraser@apple.com>
477
478 Reviewed by Darin Adler
479
480 https://bugs.webkit.org/show_bug.cgi?id=20368
481
482 Implement getComputedStyle for animation properties. Remove individual
483 computed values for transform-origin-x, transform-origin-y, and just
484 return transform-origin instead. Return "none" for default animation-name,
485 and fix the initial value.
486
487 Tests: animations/computed-style.html
488 transforms/computed-style-origin.html
489
490 * css/CSSComputedStyleDeclaration.cpp:
491 (WebCore::):
492 (WebCore::getDelayValue):
493 (WebCore::getDurationValue):
494 (WebCore::getTimingFunctionValue):
495 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
496 * rendering/style/RenderStyle.h:
497 (WebCore::InheritedFlags::initialAnimationName):
498
justin.garcia@apple.comba2601a2008-11-20 22:02:37 +00004992008-11-20 Justin Garcia <justin.garcia@apple.com>
500
501 Reviewed by Beth Dakin.
502
503 Preparation for:
504 <rdar://problem/2610675> Blank line that is quoted can't be deleted
505
506 To fix this we need to make changes to the code that creates selections to delete
507 when the user does a backward or forward delete with a caret selection. For certain
508 caret positions, we now want to remove something other than the standard "caret extended
509 backward/forward by one unit". The problem is that there were two pieces of code
510 responsible for doing this, one in Editor::deleteWithDirection, and another inside
511 TypingCommand::deleteKeyPressed. The code in deleteWithDirection is a recent
512 addition (r19172), and adding it there caused regressions because it prevented the
513 code in deleteKeyPressed from ever running. The regressions were never caught because
514 JS deletion uses deleteKeyPressed while manual deletion uses deleteWithDirection.
515
516 This patch removes selection creation code from deleteWithDirection so that deleteKeyPressed
517 can handle it. That required moving code to handle the kill ring down into deleteKeyPressed.
518
519 Follow up patches will fix <rdar://problem/2610675>, and attempt to eliminate the rest of the
520 discrepancies between the behavior of JS deletions and manual deletions, so that we
521 have better test coverage.
522
523 * editing/Editor.cpp:
524 (WebCore::Editor::deleteWithDirection): Early return if m_frame->document() is null, instead
525 of checking for that periodically throughout the function. There's really nothing to be done
526 if it's null anyway.
527 Move kill ring code down into deleteKeyPressed.
528 * editing/Editor.h:
529 * editing/TypingCommand.cpp:
530 (WebCore::TypingCommand::TypingCommand):
531 (WebCore::TypingCommand::deleteKeyPressed):
532 (WebCore::TypingCommand::forwardDeleteKeyPressed):
533 (WebCore::TypingCommand::doApply):
534 * editing/TypingCommand.h:
535 (WebCore::TypingCommand::create):
536
darin@apple.com6fc2f4a2008-11-20 21:41:20 +00005372008-11-20 Darin Adler <darin@apple.com>
538
539 Earlier version reviewed by Justin Garcia.
540
541 - fix <rdar://problem/4108572> REGRESSION: Can't extend selection with shift-arrow in read only mode
542
543 * editing/Editor.cpp:
544 (WebCore::Editor::handleKeyboardEvent): Remove isContentEditable check -- keyboard events can be
545 handled even when the selection is not in an editable area.
546 (WebCore::Editor::handleInputMethodKeydown): Ditto.
547
548 * editing/EditorCommand.cpp: Changed the enabled rule for operations that change the selection to
549 allow use when there's a selection even if it's not in an editable area. This includes commands
550 like shift-arrow keys to extend the slection, but not commands like arrow keys to move the
551 insertion point.
552
ap@webkit.org54d829a2008-11-20 20:36:20 +00005532008-11-20 Alexey Proskuryakov <ap@webkit.org>
554
555 Reviewed by Darin Adler.
556
557 https://bugs.webkit.org/show_bug.cgi?id=22380
558 Fix WorkerContext refcounting
559
560 * dom/WorkerContext.cpp:
561 (WebCore::WorkerContext::WorkerContext):
562 * dom/WorkerContext.h:
563 (WebCore::WorkerContext::script):
564 (WebCore::WorkerContext::clearScript):
ap@webkit.org8bd36192008-11-21 09:39:31 +0000565 Added a method to manually destroy WorkerScriptController.
ap@webkit.org54d829a2008-11-20 20:36:20 +0000566
567 * dom/WorkerThread.cpp: (WebCore::WorkerThread::workerThread):
568 Destroy WorkerScriptController to release any references to WorkerContext.
569
jchaffraix@webkit.orgfe4eec02008-11-20 19:40:25 +00005702008-11-19 Julien Chaffraix <jchaffraix@webkit.org>
571
572 Reviewed by Darin Adler.
573
574 Last part of bug 21106: .in format discussed changes
575 https://bugs.webkit.org/show_bug.cgi?id=21106
576
577 - Renamed isAudioHack to wrapperOnlyIfMediaIsAvailable as requested.
578
579 - Cleaned up additionnal function parameters that were unneeded.
580
581 * dom/make_names.pl:
582 * html/HTMLTagNames.in:
583
ap@webkit.org5f83ddd2008-11-20 18:18:50 +00005842008-11-20 Alexey Proskuryakov <ap@webkit.org>
585
586 Reviewed by Darin Adler.
587
588 https://bugs.webkit.org/show_bug.cgi?id=22383
589 Worker tests spill error messages over to consequent tests
590
591 * dom/Worker.cpp: (WebCore::Worker::Worker):
592 Raise an exception immediately if URL is empty. Dcoument::completeURL() returns document URL
593 in this case, and there is no sense in starting a thread and trying to parse document source
594 as JavaScript.
595
596 * bindings/js/JSWorkerConstructor.cpp: (WebCore::constructWorker):
597 Return quickly if toString() raised an exception.
598
simon.fraser@apple.com13a62b22008-11-20 16:43:11 +00005992008-11-19 Simon Fraser <simon.fraser@apple.com>
600
601 Reviewed by Adele Peterson.
602
603 https://bugs.webkit.org/show_bug.cgi?id=22190
604
605 Fix the painting and event handling in transformed search fields.
606 When painting the cancel and results button parts, get the rect from AppKit
607 relative to the input bounds (rather than in absolute coords), then convert
608 it into the coords of the part's renderer (which is the one that is painting).
609 To do this we need to compute an offset relative to some container, so expose
610 a method on RenderObject for that.
611
612 Also fix the location at which the search popup shows up to take transforms
613 into account, and fix the math that is used to figure out if the search
614 results button, or the cancel button should get the mouse events.
615
616 Test: fast/forms/search-transformed.html
617
618 * rendering/RenderBox.h:
619 * rendering/RenderObject.cpp:
620 (WebCore::RenderObject::offsetFromContainer):
621 * rendering/RenderObject.h:
622 * rendering/RenderTextControl.cpp:
623 (WebCore::RenderTextControl::forwardEvent):
624 (WebCore::RenderTextControl::showPopup):
625 * rendering/RenderThemeMac.h:
626 * rendering/RenderThemeMac.mm:
627 (WebCore::RenderThemeMac::convertToPaintingRect):
628 (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
629 (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
630 (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
631
hausmann@webkit.org61386622008-11-20 13:44:01 +00006322008-11-20 Joerg Bornemann <joerg.bornemann@trolltech.com>
633
634 Reviewed by Simon Hausmann.
635
636 Steps towards making the the Qt port of WebKit compile on Windows CE
637
638 https://bugs.webkit.org/show_bug.cgi?id=20746
639
640 * WebCore.pro: Various fixes to include windows specific build options
641 also in the Windows CE build.
642 * loader/icon/IconDatabase.cpp: Removed unnecessary errno.h inclusion.
643 * platform/FileSystem.h: Changed Q_OS_WIN32 to Q_OS_WIN to include CE.
644 * platform/graphics/qt/GraphicsContextQt.cpp:
645 (WebCore::GraphicsContext::getWindowsContext): SetWorldTransform is
646 not available on CE.
647 * platform/graphics/qt/PathQt.cpp: Added local definition of M_PI.
648 * platform/qt/FileSystemQt.cpp: Changed Q_OS_WIN32 to Q_OS_WIN to include CE.
649 * platform/qt/KeyboardCodes.h: Extend #idefs to define the missing OEM
650 constants on CE.
651 * platform/qt/TemporaryLinkStubs.cpp: Added stubs for plugins.
652 * platform/text/RegularExpression.cpp: Removed unused sys/types.h and
653 pcre.h inclusions.
654 * platform/win/SystemTimeWin.cpp:
655 (WebCore::userIdleTime): Don't use GetLastInputInfo on CE, it does not
656 exist.
657
antti@apple.comc3221bd2008-11-20 10:47:22 +00006582008-11-20 Antti Koivisto <antti@apple.com>
659
660 Reviewed by Maciej Stachowiak.
661
662 https://bugs.webkit.org/show_bug.cgi?id=22379
663 Make CSSOM use less memory
664
665 - Shrink CSSProperty by half by using bitfields.
666 - Get rid of m_strictParsing field in StyleBase by moving it up to CSSStyleSheet
667 and CSSMutableStyleDeclaration. This reduces size of many highly popular objects.
668
669 * css/CSSMutableStyleDeclaration.cpp:
670 (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
671 (WebCore::CSSMutableStyleDeclaration::operator=):
672 * css/CSSMutableStyleDeclaration.h:
673 (WebCore::CSSMutableStyleDeclaration::setStrictParsing):
674 (WebCore::CSSMutableStyleDeclaration::useStrictParsing):
675 * css/CSSProperty.h:
676 * css/CSSStyleSheet.cpp:
677 (WebCore::CSSStyleSheet::CSSStyleSheet):
678 * css/CSSStyleSheet.h:
679 (WebCore::CSSStyleSheet::setStrictParsing):
680 (WebCore::CSSStyleSheet::useStrictParsing):
681 * css/StyleBase.h:
682 (WebCore::StyleBase::useStrictParsing):
683 (WebCore::StyleBase::StyleBase):
684
darin@chromium.orgcd848402008-11-20 02:05:41 +00006852008-11-19 Darin Fisher <darin@chromium.org>
686
darin@chromium.org395b5272008-11-20 03:27:50 +0000687 Fix bustage.
688
689 https://bugs.webkit.org/show_bug.cgi?id=22373
690 Ports busted by addition of ScriptValue.{h,cpp}
691
692 * plugins/PluginView.cpp:
693 (WebCore::PluginView::performRequest):
694
6952008-11-19 Darin Fisher <darin@chromium.org>
696
darin@chromium.orgc1849fa2008-11-20 03:19:28 +0000697 Bustage fix.
698
699 https://bugs.webkit.org/show_bug.cgi?id=22373
700 Ports busted by addition of ScriptValue.{h,cpp}
701
702 * GNUmakefile.am:
703 * WebCore.pro:
704 * WebCoreSources.bkl:
705 * dom/XMLTokenizerQt.cpp:
706 * plugins/PluginView.cpp:
707
7082008-11-19 Darin Fisher <darin@chromium.org>
709
darin@chromium.orgcd848402008-11-20 02:05:41 +0000710 Reviewed by Geoff Garen.
711
712 https://bugs.webkit.org/show_bug.cgi?id=22345
713 Define ScriptValue as a thin container for a JSC::Value*.
714
715 * WebCore.vcproj/WebCore.vcproj:
716 * WebCore.xcodeproj/project.pbxproj:
717 * bindings/js/ScheduledAction.cpp:
718 * bindings/js/ScriptController.cpp:
719 (WebCore::ScriptController::evaluate):
720 * bindings/js/ScriptController.h:
721 * bindings/js/ScriptValue.cpp: Added.
722 (WebCore::ScriptValue::getString):
723 * bindings/js/ScriptValue.h: Added.
724 (WebCore::ScriptValue::ScriptValue):
725 (WebCore::ScriptValue::jsValue):
726 * dom/ScriptElement.cpp:
727 * dom/XMLTokenizer.cpp:
728 * dom/XMLTokenizerLibxml2.cpp:
729 * html/HTMLTokenizer.cpp:
730 * loader/FrameLoader.cpp:
731 (WebCore::FrameLoader::executeIfJavaScriptURL):
732 (WebCore::FrameLoader::executeScript):
733 * loader/FrameLoader.h:
734
bdakin@apple.comf5090c92008-11-20 01:33:05 +00007352008-11-19 Beth Dakin <bdakin@apple.com>
736
737 Reviewed by Justin Garcia.
738
739 Fix for <rdar://problem/5472507> Remove color property when a user
740 sets color to black
741
742 This patch prevents us from inserting font nodes during the
743 ApplyStyleCommand if they will not change the computed style of an
744 element.
745
746 * editing/ApplyStyleCommand.cpp:
747 (WebCore::fontColorChangesComputedStyle):
748 (WebCore::fontSizeChangesComputedStyle):
749 (WebCore::fontFaceChangesComputedStyle):
750 (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
751
simon.fraser@apple.com5c9b4482008-11-19 21:07:15 +00007522008-11-19 Simon Fraser <simon.fraser@apple.com>
753
simon.fraser@apple.com15484662008-11-20 02:44:28 +0000754 Reviewed by Antti Koivisto
755
756 https://bugs.webkit.org/show_bug.cgi?id=22111
757
758 Fix hit testing in controls on transformed video elements
759 by replacing absoluteBoundingBoxRect().contains() with
760 code that maps the point into local coords, taking
761 transforms into account.
762
763 Test: media/video-controls-transformed.html
764
765 * platform/graphics/MediaPlayer.h:
766 * rendering/RenderMedia.cpp:
767 (WebCore::rendererContainsPoint):
768 (WebCore::RenderMedia::forwardEvent):
769
7702008-11-19 Simon Fraser <simon.fraser@apple.com>
771
simon.fraser@apple.com5c9b4482008-11-19 21:07:15 +0000772 Reviewed by Darin Adler
773
774 https://bugs.webkit.org/show_bug.cgi?id=22348
775
776 Need to educate style sharing about autofill, so that style does not
777 get shared between input elements that are autofilled, and those
778 that are not. Setting autofill should also do a setChanged on the node.
779
780 * css/CSSStyleSelector.cpp:
781 (WebCore::CSSStyleSelector::canShareStyleWithElement):
782 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
783 * dom/Node.h:
784 (WebCore::Node::isAutofilled):
785 * html/HTMLInputElement.cpp:
786 (WebCore::HTMLInputElement::setAutofilled):
787 * html/HTMLInputElement.h:
788 (WebCore::HTMLInputElement::isAutofilled):
789
brettw@chromium.org74db4f52008-11-19 20:44:37 +00007902008-11-19 Brett Wilson <brettw@chromium.org>
791
792 Reviewed by Antti Koivisto.
793
794 https://bugs.webkit.org/show_bug.cgi?id=22349
795
796 Clear the subresource loader client when the client is removed in
797 response to a 304 (not modified). This prevents an inconsistent state
798 where the loader thinks it's active and the loader::Host doesn't.
799
800 * loader/loader.cpp:
801 (WebCore::Loader::Host::didReceiveResponse):
802
ap@webkit.orge9b6b592008-11-19 17:42:39 +00008032008-11-19 Alexey Proskuryakov <ap@webkit.org>
804
ap@webkit.org592d2a82008-11-19 17:57:58 +0000805 Reviewed by Darin Adler.
806
ap@webkit.org871cd152008-11-19 18:28:57 +0000807 https://bugs.webkit.org/show_bug.cgi?id=22355
808 Systematize code for replacing global constructors
809
810 Test: fast/workers/worker-replace-global-constructor.html
811
812 * bindings/js/JSDOMWindowBase.cpp:
813 (setJSDOMWindowBaseEvent): Changed to put the value as property, matching what generated
814 code for global constructor setters does.
815 (setJSDOMWindowBaseAudio): Ditto.
816 (setJSDOMWindowBaseImage): Ditto.
817 (setJSDOMWindowBaseMessageChannel): Ditto.
818 (setJSDOMWindowBaseOption): Ditto.
819 (setJSDOMWindowBaseWorker): Ditto.
820 (setJSDOMWindowBaseXMLHttpRequest): Ditto.
821 (setJSDOMWindowBaseXSLTProcessor): Ditto.
822 (WebCore::JSDOMWindowBase::put): Removed special cases for global constructors.
823
824 * bindings/js/JSWorkerContext.cpp:
825 (WebCore::JSWorkerContext::getOwnPropertySlot): Look up overrides before own properties,
826 as it is done for Window.
827 (WebCore::setJSWorkerContextMessageEvent): Implemented in the same way as Window global
828 constructors are.
829 (WebCore::setJSWorkerContextWorkerLocation): Ditto.
830
8312008-11-19 Alexey Proskuryakov <ap@webkit.org>
832
833 Reviewed by Darin Adler.
834
ap@webkit.org592d2a82008-11-19 17:57:58 +0000835 https://bugs.webkit.org/show_bug.cgi?id=22341
836 Text codecs should not use static data without locking
837
838 * platform/text/TextCodecICU.cpp:
839 * platform/text/mac/TextCodecMac.cpp:
840 Made cached converters per-thread.
841
842 * platform/text/TextEncodingRegistry.cpp:
843 (WebCore::encodingRegistryMutex): Added a mutex for codec maps access.
ap@webkit.org8bd36192008-11-21 09:39:31 +0000844 (WebCore::addToTextCodecMap): Don't use TextEncoding just to canonicalize the name, as it
845 causes a deadlock due to a recursive call into registry.
ap@webkit.org592d2a82008-11-19 17:57:58 +0000846 (WebCore::buildBaseTextCodecMaps): Added assertions.
847 (WebCore::newTextCodec): Take a lock to avoid concurrent access to codec maps.
848 (WebCore::atomicCanonicalTextEncodingName): Ditto.
849 (WebCore::noExtendedTextEncodingNameUsed): Added a comment, explaining why locking is not
850 necessary here.
851
8522008-11-19 Alexey Proskuryakov <ap@webkit.org>
853
ap@webkit.org2834b3e2008-11-19 17:57:00 +0000854 Touch WebCorePrefix.h to force a rebuild, needed because of changed feature defines.
855
856 * WebCorePrefix.h:
857
8582008-11-19 Alexey Proskuryakov <ap@webkit.org>
859
ap@webkit.orge9b6b592008-11-19 17:42:39 +0000860 Reviewed by Darin Adler.
861
862 https://bugs.webkit.org/show_bug.cgi?id=22310
863 Worker exceptions should be printed to console
864
865 * dom/Document.cpp: (WebCore::Document::reportException):
866 * dom/Document.h:
867 * dom/ScriptExecutionContext.h:
868 * dom/WorkerContext.cpp: (WebCore::WorkerContext::reportException):
869 * dom/WorkerContext.h:
870 Added a reportException() method on ScriptExecutionContext. It forwards the exception info
871 up until it finds a Document context, and then it prints it to console.
872
873 * bindings/js/JSEventListener.cpp:
874 (WebCore::JSAbstractEventListener::handleEvent): Don't talk to Console directly, use
875 ScriptExecutionContext::reportException. Also, fixed a bug where Document::updateDocumentsRendering()
876 could be called from workers.
877 (WebCore::JSLazyEventListener::parseCode): Moved variable declaration inside if block for clarity.
878
879 * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate):
880 Report exceptions to ScriptExecutionContext.
881
882 * dom/WorkerMessagingProxy.cpp:
883 (WebCore::MessageWorkerTask::performTask):
884 (WebCore::WorkerExceptionTask::create):
885 (WebCore::WorkerExceptionTask::WorkerExceptionTask):
886 (WebCore::WorkerExceptionTask::performTask):
887 (WebCore::WorkerMessagingProxy::postWorkerException):
888 * dom/WorkerMessagingProxy.h:
889 Added a task for posting exception information.
890
891 * bindings/js/JSDOMBinding.cpp:
892 (WebCore::reportException):
893 (WebCore::reportCurrentException):
894 * bindings/js/JSDOMBinding.h:
895 Added helper methods for reporting exceptions via ScriptExecutionContext.
896
897 * page/Console.cpp:
898 * page/Console.h:
899 Removed methods for directly reporting exceptions to console.
900
901 * bindings/js/JSCustomPositionCallback.cpp:
902 (WebCore::JSCustomPositionCallback::handleEvent):
903 * bindings/js/JSCustomPositionErrorCallback.cpp:
904 (WebCore::JSCustomPositionErrorCallback::handleEvent):
905 * bindings/js/JSCustomSQLStatementCallback.cpp:
906 (WebCore::JSCustomSQLStatementCallback::handleEvent):
907 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
908 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
909 * bindings/js/JSCustomSQLTransactionCallback.cpp:
910 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
911 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
912 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
913 * bindings/js/JSCustomVoidCallback.cpp:
914 (WebCore::JSCustomVoidCallback::handleEvent):
915 * bindings/js/JSCustomXPathNSResolver.cpp:
916 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
917 * bindings/js/ScheduledAction.cpp:
918 (WebCore::ScheduledAction::execute):
919 * bindings/js/ScriptController.cpp:
920 (WebCore::ScriptController::evaluate):
921 * bindings/objc/WebScriptObject.mm:
922 (WebCore::addExceptionToConsole):
923 Switch to JSDOMBinding methods for reporting exceptions.
924
mitz@apple.comc50bbf12008-11-19 07:51:47 +00009252008-11-18 Dan Bernstein <mitz@apple.com>
926
927 Reviewed by Mark Rowe.
928
929 - WebCore part of https://bugs.webkit.org/show_bug.cgi?id=22331
930 <rdar://problem/6381657> REGRESSION: Contextual menu no longer has an "Inspect Element" item
931
932 * platform/ContextMenuItem.h:
933 (WebCore::ContextMenuAction): Reorder this enum to keep it in sync with
934 the one in WebUIDelegate.h.
935
darin@chromium.org058a8c12008-11-19 01:58:39 +00009362008-11-18 Dimitri Glazkov <dglazkov@chromium.org>
937
938 Reviewed by Darin Adler.
939
940 https://bugs.webkit.org/show_bug.cgi?id=22346
941 PlatformString should also include HashSet.h for non-JSC builds
942
943 * platform/text/PlatformString.h:
944
adele@apple.comfd67df92008-11-19 00:25:41 +00009452008-11-18 Adele Peterson <adele@apple.com>
946
947 Reviewed by Holger Hans Peter Freyther.
948
949 Flip check added in recent refactoring so the background gets updated when the background color is valid, not invalid.
950
951 * loader/FrameLoaderClient.cpp: (WebCore::FrameLoaderClient::transitionToCommittedForNewPage):
952
darin@chromium.orgae1656d2008-11-18 23:39:00 +00009532008-11-18 Dimitri Glazkov <dglazkov@chromium.org>
954
955 Reviewed by Sam Weinig.
956
957 https://bugs.webkit.org/show_bug.cgi?id=22343
958 Remove unused runtime/Collector, JSLock includes in Page.cpp
959
960 * page/Page.cpp:
961
adachan@apple.com73975492008-11-18 23:30:12 +00009622008-11-18 Ada Chan <adachan@apple.com>
963
964 Bug 22344: Make select popup window opaque
965 https://bugs.webkit.org/show_bug.cgi?id=22344
966
967 Reviewed by Steve Falkenburg.
968
969 * platform/win/PopupMenuWin.cpp:
970 (WebCore::PopupMenu::show):
971
darin@chromium.orgd2a03d72008-11-18 23:16:59 +00009722008-11-18 Dimitri Glazkov <dglazkov@chromium.org>
973
974 Reviewed by Sam Weinig.
975
976 https://bugs.webkit.org/show_bug.cgi?id=22342
977 Remove unused JSLock.h include
978
979 * dom/Document.cpp:
980
zimmermann@webkit.org9b0b30f2008-11-18 22:15:33 +00009812008-11-18 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
982
983 Reviewed by Sam Weinig.
984
985 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22334
986
987 Add WMLBRElement, correcting <br/> behaviour in WML.
988 Enable entity replacment for WML documents.
989 Handle WML specific <p> 'mode' attribute.
990
991 Generate layout tests results for fast/wml.
992
993 Tests cases that pass now:
994 fast/wml/br-element-in-table.wml
995 fast/wml/br-element-in-text.wml
996 fast/wml/case-sensitivity.wml
997 fast/wml/cdata-section.wml
998 fast/wml/comment.wml
999 fast/wml/entity.wml
1000 fast/wml/p-align.wml
1001 fast/wml/p-mode.wml
1002 fast/wml/text-emphasis.wml
1003 fast/wml/validate-dtd.wml
1004
1005 * GNUmakefile.am:
1006 * WebCore.pro:
1007 * WebCore.xcodeproj/project.pbxproj:
1008 * dom/XMLTokenizer.cpp:
1009 (WebCore::XMLTokenizer::isWMLDocument):
1010 (WebCore::XMLTokenizer::insertErrorMessageBlock):
1011 * dom/XMLTokenizer.h:
1012 * dom/XMLTokenizerLibxml2.cpp:
1013 (WebCore::XMLTokenizer::internalSubset):
1014 (WebCore::getEntityHandler):
1015 * dom/XMLTokenizerQt.cpp:
1016 (WebCore::XMLTokenizer::parse):
1017 * wml/WMLBRElement.cpp: Added.
1018 (WebCore::WMLBRElement::WMLBRElement):
1019 (WebCore::WMLBRElement::mapToEntry):
1020 (WebCore::WMLBRElement::parseMappedAttribute):
1021 (WebCore::WMLBRElement::createRenderer):
1022 * wml/WMLBRElement.h: Added.
1023 * wml/WMLPElement.cpp:
1024 (WebCore::WMLPElement::parseMappedAttribute):
1025 (WebCore::WMLPElement::insertedIntoDocument):
1026 * wml/WMLPElement.h:
1027 * wml/WMLTagNames.in:
1028
ap@webkit.org4cc3bf42008-11-18 19:23:27 +000010292008-11-18 Alexey Proskuryakov <ap@webkit.org>
1030
1031 Windows build fix.
1032
1033 * WebCore.vcproj/WebCore.vcproj: Fix relative paths to use $(WebKitOutputDir).
1034
darin@apple.com8f78a7d2008-11-18 18:26:08 +000010352008-11-18 Darin Adler <darin@apple.com>
1036
1037 - try to fix Wx build
1038
1039 * WebCoreSources.bkl: Added FrameLoaderClient.cpp.
1040
ap@webkit.org6881f9e2008-11-18 18:25:29 +000010412008-11-18 Alexey Proskuryakov <ap@webkit.org>
1042
1043 Reviewed by Darin Adler.
1044
1045 https://bugs.webkit.org/show_bug.cgi?id=22337
1046 Enable workers by default
1047
1048 Tests: fast/workers/worker-constructor.html
1049 fast/workers/worker-event-listener.html
1050 fast/workers/worker-gc.html
1051 fast/workers/worker-location.html
1052
1053 * Configurations/WebCore.xcconfig:
1054 * WebCore.vcproj/WebCore.vcproj:
1055 * WebCore.vcproj/build-generated-files.sh:
1056 Define ENABLE_WORKERS.
1057
darin@apple.com6e74f2e2008-11-18 18:23:02 +000010582008-11-18 Darin Adler <darin@apple.com>
1059
1060 Reviewed by Alexey Proskuryakov.
1061
1062 - first cut at https://bugs.webkit.org/show_bug.cgi?id=10957
1063 <rdar://problem/5516594> please add support for HTTP-only cookies
1064
1065 Test: http/tests/xmlhttprequest/get-dangerous-headers.html
1066
1067 No test for HTTP-only support in JavaScript yet, since the Mac and Win changes
1068 require an updated CFNetwork.
1069
1070 * platform/mac/CookieJar.mm:
1071 (WebCore::isHTTPOnly): Added.
1072 (WebCore::filterCookies): Added.
1073 (WebCore::cookies): Use filterCookies to prevent getting HTTP-only cookies.
1074 (WebCore::setCookies): Use filterCookies to prevent setting HTTP-only cookies.
1075
1076 * platform/network/win/CookieJarCFNetWin.cpp:
1077 (WebCore::isHTTPOnly): Added.
1078 (WebCore::filterCookies): Added.
1079 (WebCore::setCookies): Use filterCookies to prevent getting HTTP-only cookies.
1080 (WebCore::cookies): Use filterCookies to prevent getting HTTP-only cookies.
1081
1082 * xml/XMLHttpRequest.cpp:
1083 (WebCore::isSetCookieHeader): Added.
1084 (WebCore::XMLHttpRequest::getAllResponseHeaders): Hide Set-Cookie headers from
1085 clients that don't have local-resource privileges.
1086 (WebCore::XMLHttpRequest::getResponseHeader): Ditto.
1087
1088 - clean soup-specific details out of shared cookie jar header
1089
1090 * platform/CookieJar.h: Removed the soup-specific parts of this.
1091 * platform/network/soup/CookieJarSoup.cpp: Changed to include
1092 CookieJarSoup.h. Tweaked implementation a bit to handle UTF-8 better.
1093 * platform/network/soup/CookieJarSoup.h: Added. Has the Soup-specified
1094 part of CookieJar.h.
1095 * platform/network/soup/ResourceHandleSoup.cpp: Changed to include
1096 CookieJarSoup.h.
1097
sfalken@apple.com414bf3f2008-11-18 17:59:54 +000010982008-11-18 Steve Falkenburg <sfalken@apple.com>
1099
1100 https://bugs.webkit.org/show_bug.cgi?id=22329
1101 Improper bitwise and tests against 0 in Windows context menu code
1102
1103 Reviewed by John Sullivan.
1104
1105 * platform/win/ContextMenuItemWin.cpp:
1106 (WebCore::ContextMenuItem::type):
1107 (WebCore::ContextMenuItem::enabled):
1108
sullivan@apple.com83ce9902008-11-18 17:32:35 +000011092008-11-18 John Sullivan <sullivan@apple.com>
1110
1111 Yet more Mac build fixing
1112
1113 * WebCore.base.exp: Export __ZTVN7WebCore17FrameLoaderClientE
1114
vestbo@webkit.orgc311a972008-11-18 14:41:18 +000011152008-11-18 Tor Arne Vestbø <tavestbo@trolltech.com>
1116
vestbo@webkit.org4387a7b2008-11-18 14:41:42 +00001117 Reviewed by Simon Hausmann.
1118
1119 React properly to frame rect changes for QWidget based plugins
1120
1121 We now set the geometry of the QWidget in frameRectsChanged,
1122 intead of setFrameRect, which means we pick up the changes to
1123 the frame rect when scrolling. We also set a mask on the
1124 widget to keep it from painting over scrollbars and the like
1125
1126 * platform/qt/WidgetQt.cpp:
1127 (WebCore::Widget::setFrameRect):
1128
11292008-11-18 Tor Arne Vestbø <tavestbo@trolltech.com>
1130
vestbo@webkit.orgc311a972008-11-18 14:41:18 +00001131 Rubber-stamped by Simon Hausmann.
1132
1133 Don't mark scrollbars as focused in QtWebKit
1134
1135 When initing from the widget we also got the focus state,
1136 but this does not make sense for scrollbars.
1137
1138 * platform/qt/ScrollbarThemeQt.cpp:
1139 (WebCore::styleOptionSlider):
1140
ap@webkit.orgde18f772008-11-18 12:53:14 +000011412008-11-18 Alexey Proskuryakov <ap@webkit.org>
1142
ap@webkit.org8c53ec72008-11-18 13:46:59 +00001143 More Mac build fixing.
1144
1145 * WebCore.base.exp: Export FrameLoaderClient destructor.
1146
11472008-11-18 Alexey Proskuryakov <ap@webkit.org>
1148
ap@webkit.orgde18f772008-11-18 12:53:14 +00001149 Mac build fix.
1150
1151 * WebCore.xcodeproj/project.pbxproj: Add FrameLoaderClient.cpp for now.
1152
zecke@webkit.org6a82c452008-11-18 12:32:49 +000011532008-11-18 Holger Hans Peter Freyther <zecke@selfish.org>
1154
1155 Reviewed by Simon Hausmann.
1156
1157 https://bugs.webkit.org/show_bug.cgi?id=22056
1158
zecke@webkit.org6b956e72008-11-18 12:33:24 +00001159 Attempt to share transitionToCommittedForNewPage of FrameLoaderClient with the different ports
1160
1161 After Hyatt's work on Widget and ScrollView there is little difference
1162 between the implementation of Qt, Gtk+ and Win. In fact any kind of
1163 difference is mostly a bug. Alp has fixed two of such errors for the Gtk+
1164 port and the Qt port has at least one of them left.
1165
1166 The only difference between the implementations is in getting the the
1167 IntSize for the new FrameView, the background color to be applied and
1168 eventually some post processing.
1169
1170 Unify the implementations by providing a static helper function that
1171 takes a Frame, IntSize, color and transparency bit and calling it from
1172 the Gtk+, the Qt and the Windows port.
1173
1174 * GNUmakefile.am:
1175 * WebCore.pro:
1176 * WebCore.vcproj/WebCore.vcproj:
1177 * loader/FrameLoaderClient.cpp: Added.
1178 (WebCore::FrameLoaderClient::~FrameLoaderClient):
1179 (WebCore::FrameLoaderClient::transitionToCommittedForNewPage):
1180 * loader/FrameLoaderClient.h:
1181
11822008-11-18 Holger Hans Peter Freyther <zecke@selfish.org>
1183
1184 Reviewed by Simon Hausmann.
1185
1186 https://bugs.webkit.org/show_bug.cgi?id=22056
1187
zecke@webkit.org6a82c452008-11-18 12:32:49 +00001188 Move setting the background color and transparency from WebKit/win
1189 to WebCore. This allows WebKit/win, WebKit/Qt and WebKit/Gtk+
1190 to share this code.
1191
1192 * page/FrameView.cpp:
1193 (WebCore::FrameView::updateBackgroundRecursively):
1194 * page/FrameView.h:
1195
vestbo@webkit.orgc52e5ad2008-11-18 11:36:23 +000011962008-11-18 Ariya Hidayat <ariya.hidayat@trolltech.com>
1197
1198 Reviewed by Tor Arne Vestbø.
1199
1200 Fix the bug where select elements are painted without border.
1201 http://trolltech.com/developer/task-tracker/index_html?id=218957&method=entry
1202
1203 * platform/qt/RenderThemeQt.cpp:
1204 (WebCore::RenderThemeQt::paintMenuList):
1205
jmalonzo@webkit.orga1c87442008-11-18 10:06:21 +000012062008-11-18 Jan Michael Alonzo <jmalonzo@webkit.org>
1207
1208 Gtk build fix. Not reviewed.
1209
1210 * GNUmakefile.am: Fix USER_AGENT_STYLESHEETS, wml.css is in css/,
1211 not in wml/.
1212
ap@webkit.org2e143a82008-11-18 08:03:25 +000012132008-11-18 Alexey Proskuryakov <ap@webkit.org>
1214
ap@webkit.orgfacdd7c2008-11-18 08:44:40 +00001215 Reviewed by Darin Adler.
1216
1217 https://bugs.webkit.org/show_bug.cgi?id=22308
1218 Improve Worker GC behavior
1219
1220 * dom/ActiveDOMObject.cpp: (WebCore::ActiveDOMObject::hasPendingActivity):
1221 * dom/ActiveDOMObject.h:
1222 Made hasPendingActivity() virtual, letting Worker add behavior to it.
1223
1224 * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate):
1225 * dom/WorkerThread.cpp: (WebCore::WorkerThread::workerThread):
1226 Tell message proxy whether there are active objects in the worker whenever JS execution
1227 finishes.
1228
1229 * dom/ScriptExecutionContext.h: (WebCore::ScriptExecutionContext::activeDOMObjects):
1230 Added a typedef for activeDOMObjects() return type, necessary to declare iterators.
1231
1232 * dom/Worker.h:
1233 * dom/Worker.cpp: (WebCore::Worker::hasPendingActivity): A Worker is active if it is still
1234 loading, or if it has unconfirmed messages, or it the worker thread has pending activity.
1235
1236 * dom/WorkerContext.h:
1237 * dom/WorkerContext.cpp: (WebCore::WorkerContext::hasPendingActivity): Check all registered
1238 active objects for pending activity.
1239
1240 * dom/WorkerMessagingProxy.cpp:
1241 (WebCore::MessageWorkerContextTask::performTask):
1242 (WebCore::WorkerThreadActivityReportTask::create):
1243 (WebCore::WorkerThreadActivityReportTask::WorkerThreadActivityReportTask):
1244 (WebCore::WorkerThreadActivityReportTask::performTask):
1245 (WebCore::WorkerMessagingProxy::WorkerMessagingProxy):
1246 (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
1247 (WebCore::WorkerMessagingProxy::workerObjectDestroyed):
1248 (WebCore::WorkerMessagingProxy::workerContextDestroyedInternal):
1249 (WebCore::WorkerMessagingProxy::confirmWorkerThreadMessage):
1250 (WebCore::WorkerMessagingProxy::reportWorkerThreadActivity):
1251 (WebCore::WorkerMessagingProxy::reportWorkerThreadActivityInternal):
1252 (WebCore::WorkerMessagingProxy::workerThreadHasPendingActivity):
1253 * dom/WorkerMessagingProxy.h:
1254 Track outstanding messages, and activity reported by worker thread.
1255
12562008-11-18 Alexey Proskuryakov <ap@webkit.org>
1257
ap@webkit.org2e143a82008-11-18 08:03:25 +00001258 Rubber-stamped by Darin Adler.
1259
1260 https://bugs.webkit.org/show_bug.cgi?id=22306
1261 Disable channel messaging support
1262
1263 * bindings/js/JSDOMWindowBase.cpp:
1264 (jsDOMWindowBaseMessageChannel):
1265 * page/DOMWindow.idl:
1266 Hide MesssagePort and MessageChannel global constructors. Due to the way MessageChannel
1267 constructor is added, it remains enumerable, but undefined.
1268
zimmermann@webkit.org4c3a61a2008-11-18 00:04:18 +000012692008-11-17 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
1270
zimmermann@webkit.orgb981deb2008-11-18 00:46:24 +00001271 Reviewed by Mark Rowe.
1272
1273 Remove WBXML code. MainResourceLoader is not an appropriate location.
1274 Revert until we find a better place.
1275
1276 The mime type which belongs to wmlc should be enabled anyway so WML documents get build.
1277 Remove the ENABLE(WBXML) blocks around these types in MIMETypeRegistry / DOMImplementation.
1278
1279 * WebCore.pro:
1280 * dom/DOMImplementation.cpp:
1281 (WebCore::DOMImplementation::createDocument):
1282 * loader/MainResourceLoader.cpp:
1283 (WebCore::MainResourceLoader::addData):
1284 * platform/MIMETypeRegistry.cpp:
1285 (WebCore::initializeSupportedNonImageMimeTypes):
1286
12872008-11-17 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
1288
zimmermann@webkit.orgba18ade2008-11-18 00:23:28 +00001289 Not reviewed. Build fix.
1290
1291 Oops, disable WML by default on Qt.
1292
1293 * WebCore.pro:
1294
12952008-11-17 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
1296
zimmermann@webkit.org4c3a61a2008-11-18 00:04:18 +00001297 Reviewed by George Staikos.
1298
1299 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22324 (Add basic subset of WML elements)
1300
1301 Add first bits of WML support. Only <card> & <p> and <a> elements are supported in this first patch.
1302 Support for most other elements will be added step-by-step (merging in small chunks from a big patch).
1303
1304 WML is not build by default.
1305
1306 * DerivedSources.make: Handle WMLNames/WMLElementFactory generation.
1307 * GNUmakefile.am: Add new files and generator hooks.
1308 * WebCore.pro: Ditto.
1309 * WebCore.xcodeproj/project.pbxproj: Ditto.
1310 * css/CSSStyleSelector.cpp: Load wml.css on demand, just like it's done for SVG.
1311 (WebCore::linkAttribute):
1312 (WebCore::CSSStyleSelector::styleForElement):c
1313 * css/wml.css: Added.
1314 * dom/DOMImplementation.cpp: Handle WMLDocument creation
1315 (WebCore::DOMImplementation::createDocument):
1316 * dom/Document.cpp: Handle WMLElement creation.
1317 (WebCore::Document::createElement):
1318 * dom/Document.h: Add helper function identifying WML documents.
1319 (WebCore::Document::isWMLDocument):
1320 * dom/Node.h: Add heper function identifying WML elements.
1321 (WebCore::Node::isWMLElement):
1322 * dom/XMLTokenizer.cpp: Handle errors in WML documents
1323 (WebCore::XMLTokenizer::insertErrorMessageBlock):
1324 * dom/XMLTokenizerLibxml2.cpp: Add WML DTD checks.
1325 (WebCore::XMLTokenizer::internalSubset):
1326 * dom/XMLTokenizerQt.cpp: Ditto.
1327 (WebCore::):
1328 * dom/make_names.pl: Force internal linkage for the "tagConstructor" functions, avoiding SVG<->WML clashes.
1329 * history/BackForwardList.cpp: Add WML specific function for clearing the history.
1330 (WebCore::BackForwardList::clearWmlPageHistory):
1331 * history/BackForwardList.h:
1332 * loader/FrameLoader.cpp: Add WML specific 'shouldReload' logic.
1333 (WebCore::FrameLoader::FrameLoader):
1334 (WebCore::FrameLoader::setForceReloadWmlDeck):
1335 (WebCore::FrameLoader::shouldReload):
1336 (WebCore::FrameLoader::loadItem):
1337 * loader/FrameLoader.h:
1338 * loader/MainResourceLoader.cpp: Add WBXML support (only enabled on Linux/Qt at the moment)
1339 (WebCore::MainResourceLoader::addData):
1340 * page/Frame.cpp: Initialize WMLNames.
1341 (WebCore::Frame::Frame):
1342 * page/Page.cpp: Maintain WMLPageState object per Page.
1343 (WebCore::Page::Page):
1344 (WebCore::Page::setWMLPageState):
1345 (WebCore::Page::wmlPageState):
1346 * page/Page.h:
1347 * platform/MIMETypeRegistry.cpp: Recognize WML extensions.
1348 (WebCore::initializeSupportedNonImageMimeTypes):
1349 * platform/gtk/MIMETypeRegistryGtk.cpp: Ditto.
1350 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
1351 * platform/qt/MIMETypeRegistryQt.cpp: Ditto.
1352 (WebCore::):
1353 * platform/win/MIMETypeRegistryWin.cpp: Ditto.
1354 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
1355 * manual-tests/wml: Added.
1356 * manual-tests/wml/a-br-element.wml: Added.
1357 * manual-tests/wml/a-element.wml: Added.
1358 * manual-tests/wml/a-img-element.wml: Added.
1359 * manual-tests/wml/access-target.wml: Added.
1360 * manual-tests/wml/anchor-br-element.wml: Added.
1361 * manual-tests/wml/anchor-element.wml: Added.
1362 * manual-tests/wml/anchor-img-element.wml: Added.
1363 * manual-tests/wml/card-newcontext-attr.wml: Added.
1364 * manual-tests/wml/card-onenterbackward.wml: Added.
1365 * manual-tests/wml/card-onenterforward.wml: Added.
1366 * manual-tests/wml/card-ontimer.wml: Added.
1367 * manual-tests/wml/deck-access-control.wml: Added.
1368 * manual-tests/wml/go-element.wml: Added.
1369 * manual-tests/wml/input-emptyok.wml: Added.
1370 * manual-tests/wml/input-format.wml: Added.
1371 * manual-tests/wml/onevent-go.wml: Added.
1372 * manual-tests/wml/onevent-noop.wml: Added.
1373 * manual-tests/wml/onevent-prev.wml: Added.
1374 * manual-tests/wml/onevent-refresh.wml: Added.
1375 * manual-tests/wml/onevent-shadow.wml: Added.
1376 * manual-tests/wml/postfield-get.wml: Added.
1377 * manual-tests/wml/postfield-post.wml: Added.
1378 * manual-tests/wml/select-element.wml: Added.
1379 * manual-tests/wml/select-onpick-event.wml: Added.
1380 * manual-tests/wml/setvar-element.wml: Added.
1381 * manual-tests/wml/targetdeck.wml: Added.
1382 * manual-tests/wml/task-go-in-anchor.wml: Added.
1383 * manual-tests/wml/task-noop-in-do.wml: Added.
1384 * manual-tests/wml/task-noop-in-onevent.wml: Added.
1385 * manual-tests/wml/task-prev-in-anchor.wml: Added.
1386 * manual-tests/wml/task-refresh-in-anchor.wml: Added.
1387 * manual-tests/wml/template-go.wml: Added.
1388 * manual-tests/wml/template-onevent.wml: Added.
1389 * manual-tests/wml/template-ontimer.wml: Added.
1390 * manual-tests/wml/timer.wml: Added.
1391 * manual-tests/wml/variable-substitution.wml: Added.
1392 * wml: Added.
1393 * wml/WMLAElement.cpp: Added.
1394 (WebCore::WMLAElement::WMLAElement):
1395 (WebCore::WMLAElement::parseMappedAttribute):
1396 (WebCore::WMLAElement::supportsFocus):
1397 (WebCore::WMLAElement::isFocusable):
1398 (WebCore::WMLAElement::isMouseFocusable):
1399 (WebCore::WMLAElement::isKeyboardFocusable):
1400 (WebCore::WMLAElement::defaultEventHandler):
1401 (WebCore::WMLAElement::accessKeyAction):
1402 (WebCore::WMLAElement::isURLAttribute):
1403 (WebCore::WMLAElement::target):
1404 * wml/WMLAElement.h: Added.
1405 * wml/WMLAttributeNames.in: Added.
1406 * wml/WMLCardElement.cpp: Added.
1407 (WebCore::WMLCardElement::WMLCardElement):
1408 * wml/WMLCardElement.h: Added.
1409 * wml/WMLDocument.cpp: Added.
1410 (WebCore::WMLDocument::WMLDocument):
1411 (WebCore::WMLDocument::~WMLDocument):
1412 * wml/WMLDocument.h: Added.
1413 (WebCore::WMLDocument::create):
1414 (WebCore::WMLDocument::isWMLDocument):
1415 * wml/WMLElement.cpp: Added.
1416 (WebCore::WMLElement::WMLElement):
1417 (WebCore::WMLElement::mapToEntry):
1418 (WebCore::WMLElement::parseMappedAttribute):
1419 (WebCore::WMLElement::rendererIsNeeded):
1420 (WebCore::WMLElement::createRenderer):
1421 * wml/WMLElement.h: Added.
1422 (WebCore::WMLElement::isWMLElement):
1423 * wml/WMLPElement.cpp: Added.
1424 (WebCore::WMLPElement::WMLPElement):
1425 (WebCore::WMLPElement::mapToEntry):
1426 (WebCore::WMLPElement::parseMappedAttribute):
1427 * wml/WMLPElement.h: Added.
1428 * wml/WMLPageState.cpp: Added.
1429 (WebCore::WMLPageState::WMLPageState):
1430 (WebCore::WMLPageState::~WMLPageState):
1431 (WebCore::WMLPageState::reset):
1432 (WebCore::WMLPageState::setNeedCheckDeckAccess):
1433 (WebCore::WMLPageState::isDeckAccessible):
1434 * wml/WMLPageState.h: Added.
1435 (WebCore::WMLPageState::storeVariable):
1436 (WebCore::WMLPageState::storeVariables):
1437 (WebCore::WMLPageState::getVaribale):
1438 (WebCore::WMLPageState::hasVariables):
1439 (WebCore::WMLPageState::historyLength):
1440 (WebCore::WMLPageState::setHistoryLength):
1441 (WebCore::WMLPageState::page):
1442 (WebCore::WMLPageState::activeCard):
1443 (WebCore::WMLPageState::setActiveCard):
1444 (WebCore::WMLPageState::setDeckAccessDomain):
1445 (WebCore::WMLPageState::setDeckAccessPath):
1446 (WebCore::WMLPageState::hasDeckAccess):
1447 * wml/WMLTagNames.in: Added.
1448
ggaren@apple.comcc0f1f12008-11-17 23:16:00 +000014492008-11-17 Geoffrey Garen <ggaren@apple.com>
1450
1451 Reviewed by Sam Weinig.
1452
1453 Updated for JavaScriptCore renames.
1454
1455 * WebCore.pro:
1456 * webcore-base.bkl:
1457
justin.garcia@apple.com79bf02b2008-11-17 22:40:50 +000014582008-11-17 Justin Garcia <justin.garcia@apple.com>
1459
1460 Reviewed by Beth Dakin.
1461
1462 <rdar://problem/4922709> Copying less than a paragraph of quoted text and pasting it doesn't retain quote level
1463
1464 There was code to intentionally avoid quoting pasted content if less than a paragraph of
1465 it was copied. That was added for <rdar://problem/5006779>, but was unnecessary because
1466 that bug was about Paste and Match style for single paragraphs. And quote stripping for
1467 Paste and Match style is handled elsewhere.
1468
1469 * editing/markup.cpp:
1470 (WebCore::createMarkup):
1471
ggaren@apple.com5169fc92008-11-17 22:11:26 +000014722008-11-17 Geoffrey Garen <ggaren@apple.com>
1473
1474 Reviewed by Sam Weinig.
1475
1476 Updated for JavaScriptCore rename.
1477
1478 * ForwardingHeaders/interpreter/CallFrame.h: Copied from WebCore/ForwardingHeaders/runtime/ExecState.h.
1479 * ForwardingHeaders/runtime/ExecState.h: Removed.
1480 * bindings/objc/WebScriptObject.mm:
1481 * bridge/c/c_instance.cpp:
1482 * bridge/jni/jni_jsobject.mm:
1483 * dom/Node.cpp:
1484 * dom/NodeFilter.cpp:
1485 * dom/NodeIterator.cpp:
1486 * dom/TreeWalker.cpp:
1487 * inspector/JavaScriptCallFrame.h:
1488
dino@apple.comcc13dec2008-11-17 22:05:27 +000014892008-11-17 Pierre-Olivier Latour <pol@apple.com>
1490
1491 Reviewed by Sam Weinig.
1492
1493 Added functionality to AnimationController to allow pausing a running
1494 animation or transition at a given time for testing purposes.
1495
1496 https://bugs.webkit.org/show_bug.cgi?id=21261
1497
1498 Tests: animations/animation-drt-api.html
1499 transitions/transition-drt-api.html
1500
1501 * WebCore.base.exp:
1502 * WebCore.xcodeproj/project.pbxproj:
1503 * page/animation/AnimationBase.cpp:
1504 (WebCore::AnimationBase::updateStateMachine):
1505 (WebCore::AnimationBase::progress):
1506 (WebCore::AnimationBase::pauseAtTime):
1507 * page/animation/AnimationBase.h:
1508 * page/animation/AnimationController.cpp:
1509 (WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
1510 (WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
1511 (WebCore::AnimationController::pauseAnimationAtTime):
1512 (WebCore::AnimationController::pauseTransitionAtTime):
1513 * page/animation/AnimationController.h:
1514 * page/animation/CompositeAnimation.cpp:
1515 (WebCore::CompositeAnimationPrivate::isAnimating):
1516 (WebCore::CompositeAnimationPrivate::pauseAnimationAtTime):
1517 (WebCore::CompositeAnimationPrivate::pauseTransitionAtTime):
1518 (WebCore::CompositeAnimation::pauseAnimationAtTime):
1519 (WebCore::CompositeAnimation::pauseTransitionAtTime):
1520 * page/animation/CompositeAnimation.h:
1521 * page/animation/ImplicitAnimation.cpp:
1522 (WebCore::ImplicitAnimation::animate):
1523
ggaren@apple.com7ee12a52008-11-17 17:23:59 +000015242008-11-17 Geoffrey Garen <ggaren@apple.com>
1525
ggaren@apple.com4240a312008-11-17 17:55:40 +00001526 Reviewed by Sam Weinig.
ggaren@apple.com901a8a22008-11-17 20:57:18 +00001527
1528 Updated for JavaScriptCore renames.
1529
1530 * ForwardingHeaders/VM: Removed.
1531 * ForwardingHeaders/VM/Machine.h: Removed.
1532 * ForwardingHeaders/interpreter: Added.
1533 * ForwardingHeaders/interpreter/Interpreter.h: Copied from ForwardingHeaders/VM/Machine.h.
1534 * WebCore.pro:
1535 * bindings/js/JSXMLHttpRequestCustom.cpp:
1536 * page/Console.cpp:
1537 * webcore-base.bkl:
1538
15392008-11-17 Geoffrey Garen <ggaren@apple.com>
1540
1541 Reviewed by Sam Weinig.
ggaren@apple.com4240a312008-11-17 17:55:40 +00001542
1543 Updated for JavaScriptCore renames.
1544
1545 * ForwardingHeaders/runtime/Interpreter.h: Removed.
1546 * WebCore.vcproj/WebCore.vcproj:
1547 * bindings/js/JSDOMBinding.h:
1548 * bindings/js/WorkerScriptController.cpp:
1549 * bindings/objc/WebScriptObject.mm:
1550 * bridge/NP_jsobject.cpp:
1551 * bridge/jni/jni_jsobject.mm:
1552 * html/CanvasRenderingContext2D.cpp:
1553 * inspector/JavaScriptCallFrame.cpp:
1554 * page/Console.cpp:
1555
15562008-11-17 Geoffrey Garen <ggaren@apple.com>
1557
ggaren@apple.com7ee12a52008-11-17 17:23:59 +00001558 Not reviewed.
1559
1560 Try to fix wx build.
1561
1562 * webcore-base.bkl:
1563
bolsinga@apple.com3362cb52008-11-17 17:11:15 +000015642008-11-17 Greg Bolsinga <bolsinga@apple.com>
1565
1566 Reviewed by Darin Adler.
1567
1568 https://bugs.webkit.org/show_bug.cgi?id=21810
1569 Remove use of static C++ objects that are destroyed at exit time (destructors)
1570
1571 Find some missing DEFINE_STATIC_LOCAL use cases.
1572
1573 * bindings/js/JSSVGPODTypeWrapper.h:
1574 (WebCore::PODTypeWrapperCacheInfoTraits::emptyValue):
1575 (WebCore::JSSVGDynamicPODTypeWrapperCache::dynamicWrapperHashMap):
1576 * dom/make_names.pl: Generate code to use DEFINE_STATIC_LOCAL.
1577 * page/AccessibilityRenderObject.cpp:
1578 (WebCore::RoleEntry::): This method is only called once, so the array does not have to be static.
1579 * platform/graphics/FontCache.cpp:
1580 (WebCore::FontPlatformDataCacheKeyTraits::emptyValue):
1581 (WebCore::FontDataCacheKeyTraits::emptyValue):
1582 * rendering/style/RenderStyle.h:
1583 (WebCore::InheritedFlags::initialTransform):
1584
ggaren@apple.com8e93cb42008-11-17 17:00:48 +000015852008-11-17 Geoffrey Garen <ggaren@apple.com>
1586
1587 Not reviewed.
1588
1589 Try to fix Qt build.
1590
1591 * WebCore.pro:
1592
simon.fraser@apple.com0ec32ed2008-11-17 03:44:38 +000015932008-11-16 Simon Fraser <simon.fraser@apple.com>
1594
1595 Reviewed by Dan Bernstein
1596
1597 https://bugs.webkit.org/show_bug.cgi?id=22118
1598
1599 Fix resize corner tracking in transformed elements by using
1600 mapping the point into local coords using absoluteToLocal,
1601 rather than convertToLayerCoords.
1602
1603 Test: fast/css/resize-corner-tracking-transformed.html
1604
1605 * page/EventHandler.h:
1606 * rendering/RenderLayer.cpp:
1607 (WebCore::RenderLayer::absoluteToContents):
1608 (WebCore::RenderLayer::offsetFromResizeCorner):
1609 (WebCore::RenderLayer::isPointInResizeControl):
1610 * rendering/RenderLayer.h:
1611
ggaren@apple.com55fadbe2008-11-17 03:17:41 +000016122008-11-16 Geoffrey Garen <ggaren@apple.com>
1613
1614 Not reviewed.
1615
1616 Try to fix Qt build.
1617
1618 * WebCore.pro:
1619
bolsinga@apple.com4f657472008-11-17 01:05:20 +000016202008-11-16 Greg Bolsinga <bolsinga@apple.com>
1621
bolsinga@apple.com3f95fd92008-11-17 02:03:55 +00001622 Reviewed by Geoffrey Garen.
1623
1624 Use RefPtr and PassRefPtr where appropriate.
1625
1626 * loader/FTPDirectoryDocument.cpp:
1627 (WebCore::createTemplateDocumentData):
1628
16292008-11-16 Greg Bolsinga <bolsinga@apple.com>
1630
bolsinga@apple.comeb819292008-11-17 01:43:38 +00001631 Fix build break for real.
1632
1633 * loader/FTPDirectoryDocument.cpp:
1634 (WebCore::createTemplateDocumentData):
1635
16362008-11-16 Greg Bolsinga <bolsinga@apple.com>
1637
bolsinga@apple.com76753b82008-11-17 01:38:39 +00001638 Fix build break and bug.
1639
1640 * loader/FTPDirectoryDocument.cpp:
1641 (WebCore::createTemplateDocumentData):
1642
16432008-11-16 Greg Bolsinga <bolsinga@apple.com>
1644
bolsinga@apple.com4f657472008-11-17 01:05:20 +00001645 Reviewed by Darin Adler.
1646
1647 https://bugs.webkit.org/show_bug.cgi?id=21810
1648 Remove use of static C++ objects that are destroyed at exit time (destructors)
1649
1650 Use DEFINE_STATIC_LOCAL for static RetainPtr<T>, RefPtr<T>. Add additional
1651 uses of DEFINE_STATIC_LOCAL where appropriate.
1652
1653 * html/HTMLTableElement.cpp:
1654 (WebCore::HTMLTableElement::addSharedCellBordersDecl): new the AtomicStrings
1655 * loader/CachedImage.cpp:
1656 (WebCore::brokenImage):
1657 (WebCore::nullImage):
1658 * loader/FTPDirectoryDocument.cpp:
1659 (WebCore::_createTemplateDocumentData): Created so accessor has one line initialization
1660 (WebCore::FTPDirectoryTokenizer::loadDocumentTemplate):
1661 * loader/icon/IconDatabase.cpp:
1662 (WebCore::loadDefaultIconRecord):
1663 * page/AccessibilityObject.cpp:
1664 (WebCore::AccessibilityObject::actionVerb):
1665 * page/AccessibilityRenderObject.cpp:
1666 (WebCore::AccessibilityRenderObject::actionVerb):
1667 * page/mac/EventHandlerMac.mm:
1668 (WebCore::currentEvent):
1669 * platform/ScrollView.cpp:
1670 (WebCore::ScrollView::paint):
1671 * platform/graphics/Image.cpp:
1672 (WebCore::Image::nullImage):
1673 * platform/graphics/mac/ColorMac.mm:
1674 (WebCore::nsColor):
1675 * platform/graphics/mac/FontCacheMac.mm: new the Strings
1676 (WebCore::FontCache::getSimilarFontPlatformData):
1677 * platform/graphics/mac/GraphicsContextMac.mm:
1678 (WebCore::_createPatternColor): Created so accessor has one line initialization
1679 (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
1680 * platform/graphics/mac/SimpleFontDataMac.mm:
1681 (WebCore::webFallbackFontFamily):
1682 * platform/mac/PasteboardMac.mm:
1683 (WebCore::writableTypesForURL):
1684 (WebCore::createWritableTypesForImage): Created so accessor has one line initialization
1685 (WebCore::writableTypesForImage):
1686 (WebCore::stripAttachmentCharacters):
1687 * rendering/RenderLayer.cpp:
1688 (WebCore::RenderLayer::paintResizer):
1689
zecke@webkit.orgd5d3c932008-11-16 21:49:45 +000016902008-11-16 Holger Hans Peter Freyther <zecke@selfish.org>
1691
zecke@webkit.orgedac5ce2008-11-16 21:53:28 +00001692 Reviewed by Darin Adler.
1693
1694 Do not spit Curl errors into the stdout as this is used by DRT
1695
1696 We have failing tests results due the curl errors printed to stdout,
1697 move them to stderr to be able to pass those tests.
1698
1699 * platform/network/curl/ResourceHandleManager.cpp:
1700 (WebCore::ResourceHandleManager::startJob):
1701
17022008-11-16 Holger Hans Peter Freyther <zecke@selfish.org>
1703
zecke@webkit.orgd5d3c932008-11-16 21:49:45 +00001704 - fix the Gtk+ build
1705
1706 * GNUmakefile.am:
1707
darin@apple.com21f89012008-11-16 19:39:03 +000017082008-11-16 Darin Adler <darin@apple.com>
1709
darin@apple.com9c9341a2008-11-16 20:07:27 +00001710 - try to fix Qt build
1711
1712 * WebCore.pro: Add the worker-related source files.
1713
17142008-11-16 Darin Adler <darin@apple.com>
1715
darin@apple.comda5c6a12008-11-16 19:58:28 +00001716 Suggested by Alexey Proskuryakov.
1717
1718 - fix the GTK build another way
1719
1720 * GNUmakefile.am: Add the worker-related source files.
1721 * bindings/js/JSEventTarget.cpp: Take the #if back out.
1722
17232008-11-16 Darin Adler <darin@apple.com>
1724
darin@apple.com4c044bb2008-11-16 19:51:12 +00001725 - try to fix GTK build
1726
1727 * bindings/js/JSEventTarget.cpp: Put worker includes inside an #if.
1728
17292008-11-16 Darin Adler <darin@apple.com>
1730
darin@apple.com21f89012008-11-16 19:39:03 +00001731 Reviewed by Dan Bernstein.
1732
1733 - https://bugs.webkit.org/show_bug.cgi?id=22295
1734 track which history items are from page load failures
1735
1736 * history/HistoryItem.cpp: Sort includes, add newly needed ones, and remove
1737 no-longer-needed ones.
1738 (WebCore::HistoryItem::HistoryItem): Initialize m_lastVisitWasFailure to false.
1739 (WebCore::HistoryItem::showTreeWithIndent): Rewrote to avoid appending to a
1740 String, since that's not efficient.
1741
1742 * history/HistoryItem.h: Removed unneeded includes. Added lastVisitWasFailure,
1743 setLastVisitWasFailure, and m_lastVisitWasFailure.
1744
1745 * history/mac/HistoryItemMac.mm: Add newly-needed include
1746 (WebCore::HistoryItem::setTransientProperty): Rewrote to avoid keeping a
1747 m_transientProperties map around when it is empty.
1748
1749 * loader/FrameLoader.cpp:
1750 (WebCore::FrameLoader::createHistoryItem): Call setLastVisitWasFailure when
1751 the page was unreachable or an HTTP page with a status code that indicates
1752 failure.
1753
staikos@webkit.org01b961b2008-11-16 12:45:29 +000017542008-11-16 Yong Li <yong.li@torchmobile.com>
1755
1756 Reviewed by Timothy Hatcher.
1757 Landed by George Staikos.
1758
1759 Optimization: don't relayout, repaint, or emit a DOM event if the
1760 scroll event didn't scroll anywhere.
1761
1762 * rendering/RenderLayer.cpp:
1763 (WebCore::RenderLayer::scrollToOffset): add early exit
1764
ap@webkit.org5248e232008-11-16 10:05:23 +000017652008-11-16 Alexey Proskuryakov <ap@webkit.org>
1766
1767 Reviewed by Dan Bernstein.
1768
1769 https://bugs.webkit.org/show_bug.cgi?id=22290
1770 Remove cross-heap GC and MessagePort multi-threading support
1771
1772 It is broken (and may not be implementable at all), and no longer needed, as we
1773 don't use MessagePorts for communication with workers any more.
1774
1775 * bindings/js/JSDOMBinding.cpp:
1776 * bindings/js/JSDOMBinding.h:
1777 * bindings/js/JSDOMWindowBase.cpp:
1778 * bindings/js/JSDOMWindowBase.h:
1779 Removed cross-heap GC implementation.
1780
1781 * dom/MessagePort.cpp:
1782 (WebCore::MessagePort::hasPendingActivity):
1783 * dom/MessagePort.h:
1784 Made objects RefCounted instead of ThreadSafeShared, added FIXME comments for code that is
1785 unnecessarily complicated for single threaded case.
1786
ap@webkit.orge2011e82008-11-16 09:11:54 +000017872008-11-14 Alexey Proskuryakov <ap@webkit.org>
1788
1789 Reviewed by Maciej Stachowiak.
1790
1791 https://bugs.webkit.org/show_bug.cgi?id=22266
1792 Stop using MessagePort for communication with workers
1793
1794 The current MessagePort specification is not well suited for being implemented in a
1795 multi-threaded or multi-process environment, and this doesn't appear to be easily fixable.
1796 This patch implements a simpler Mozilla API for workers instead.
1797
1798 * WebCore.xcodeproj/project.pbxproj:
1799 * DerivedSources.make:
1800 * bindings/js/JSDOMWindowBase.cpp: (jsDOMWindowBaseWorker):
1801 * bindings/js/JSDedicatedWorkerConstructor.cpp: Removed.
1802 * bindings/js/JSDedicatedWorkerConstructor.h: Removed.
1803 * bindings/js/JSDedicatedWorkerCustom.cpp: Removed.
1804 * bindings/js/JSWorkerConstructor.cpp: Copied from WebCore/bindings/js/JSDedicatedWorkerConstructor.cpp.
1805 * bindings/js/JSWorkerConstructor.h: Copied from WebCore/bindings/js/JSDedicatedWorkerConstructor.h.
1806 * bindings/js/JSWorkerCustom.cpp: Copied from WebCore/bindings/js/JSDedicatedWorkerCustom.cpp.
1807 * dom/DedicatedWorker.cpp: Removed.
1808 * dom/DedicatedWorker.h: Removed.
1809 * dom/DedicatedWorker.idl: Removed.
1810 Renamed DedicatedWorker to Worker to match Mozilla and current WHATWG cpec.
1811
1812 * bindings/js/JSEventListener.cpp: (WebCore::JSAbstractEventListener::handleEvent):
1813 Clear worker exceptions to avoid hitting an assertion.
1814
1815 * dom/EventTarget.cpp: (WebCore::EventTarget::toWorker):
1816 * dom/EventTarget.h:
1817 * bindings/js/JSEventTarget.cpp: (WebCore::toJS):
1818 WorkerContext is now an EventTarget, too.
1819
1820 * bindings/js/JSWorkerContext.cpp: Removed onconnect, constructors for MessageChannel and
1821 MessagePort. Added postMessage() and onmessage.
1822
1823 * dom/ScriptExecutionContext.cpp: (WebCore::performTask): Do not reference ScriptExecutionContext
1824 when posting a task - this operation is not thread safe. It is also not necessary any more,
1825 as the context is kept alive by WorkerMessagingProxy.
1826
1827 * dom/Worker.cpp: Copied from WebCore/dom/DedicatedWorker.cpp.
1828 (WebCore::Worker::Worker): Start loading the script right away - there is no reason to do
1829 that on a timer.
1830 (WebCore::Worker::~Worker): Notify messaging proxy.
1831 (WebCore::Worker::postMessage): Just ask the proxy to post the message.
1832 (WebCore::Worker::notifyFinished): Notify messaging proxy when a thread object becomes
1833 available. Also, it is now safe to unsetPendingActivity(), making the object collectable.
1834 I'm not sure if this is the right lifetime for workers, as unreachable workers with event
1835 listeners should probably be kept alive, but it at least lets the object be collected.
1836 (WebCore::Worker::addEventListener): Added an EventTarget implementation.
1837 (WebCore::Worker::removeEventListener): Added an EventTarget implementation.
1838 (WebCore::Worker::dispatchEvent): Added an EventTarget implementation.
1839
1840 * dom/Worker.h: Copied from WebCore/dom/DedicatedWorker.h.
1841 * dom/Worker.idl: Copied from WebCore/dom/DedicatedWorker.idl.
1842 Removed onclose, made an EventListener. Actual messaging is now handled by WorkerMessagingProxy.
1843
1844 * dom/WorkerContext.cpp:
1845 (WebCore::WorkerContext::~WorkerContext): Notify messaging proxy that the context was shut
1846 down successfully.
1847 (WebCore::WorkerContext::postMessage): Added. Post the message via messaging proxy.
1848
1849 * dom/WorkerContext.h: Added postMessage and onmessage, removed onconnect.
1850
1851 * dom/WorkerMessagingProxy.cpp: Added.
1852 * dom/WorkerMessagingProxy.h: Added.
1853 This new class implements actual messaging. It is notified when a Worker is garbage collected,
1854 and asks the thread to shut down. It also owns the thread object, and references script
1855 execution context, making it safe to post messages to it remotely.
1856
1857 * dom/WorkerThread.cpp:
1858 * dom/WorkerThread.h:
1859 Keep a reference to messaging proxy, not to Worker itself. Also, the thread object no longer
1860 keeps itself alive - it is now the job of messaging proxy.
1861
darin@apple.com3f57a492008-11-16 04:35:22 +000018622008-11-15 Darin Adler <darin@apple.com>
1863
darin@apple.coma9778f92008-11-16 04:40:06 +00001864 Rubber stamped by Geoff Garen.
1865
1866 - do the long-planned StructureID -> Structure rename
1867
1868 * ForwardingHeaders/runtime/Structure.h: Copied from WebCore/ForwardingHeaders/runtime/StructureID.h.
1869 * ForwardingHeaders/runtime/StructureID.h: Removed.
1870 * bindings/js/JSAudioConstructor.cpp:
1871 (WebCore::JSAudioConstructor::JSAudioConstructor):
1872 * bindings/js/JSDOMBinding.cpp:
1873 (WebCore::getCachedDOMStructure):
1874 (WebCore::cacheDOMStructure):
1875 * bindings/js/JSDOMBinding.h:
1876 (WebCore::DOMObject::DOMObject):
1877 (WebCore::getDOMStructure):
1878 * bindings/js/JSDOMGlobalObject.cpp:
1879 (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
1880 * bindings/js/JSDOMGlobalObject.h:
1881 * bindings/js/JSDOMWindowBase.cpp:
1882 (WebCore::JSDOMWindowBase::JSDOMWindowBase):
1883 * bindings/js/JSDOMWindowBase.h:
1884 * bindings/js/JSDOMWindowShell.cpp:
1885 (WebCore::JSDOMWindowShell::JSDOMWindowShell):
1886 (WebCore::JSDOMWindowShell::setWindow):
1887 * bindings/js/JSDOMWindowShell.h:
1888 (WebCore::JSDOMWindowShell::createStructure):
1889 * bindings/js/JSDedicatedWorkerConstructor.cpp:
1890 (WebCore::JSDedicatedWorkerConstructor::JSDedicatedWorkerConstructor):
1891 * bindings/js/JSHTMLAllCollection.h:
1892 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
1893 (WebCore::JSHTMLAllCollection::createStructure):
1894 * bindings/js/JSImageConstructor.cpp:
1895 (WebCore::JSImageConstructor::JSImageConstructor):
1896 * bindings/js/JSInspectedObjectWrapper.cpp:
1897 (WebCore::JSInspectedObjectWrapper::wrap):
1898 (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
1899 * bindings/js/JSInspectedObjectWrapper.h:
1900 * bindings/js/JSInspectorCallbackWrapper.cpp:
1901 (WebCore::leakInspectorCallbackWrapperStructure):
1902 (WebCore::JSInspectorCallbackWrapper::wrap):
1903 (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper):
1904 * bindings/js/JSInspectorCallbackWrapper.h:
1905 * bindings/js/JSMessageChannelConstructor.cpp:
1906 (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
1907 * bindings/js/JSNamedNodesCollection.h:
1908 (WebCore::JSNamedNodesCollection::createStructure):
1909 * bindings/js/JSOptionConstructor.cpp:
1910 (WebCore::JSOptionConstructor::JSOptionConstructor):
1911 * bindings/js/JSQuarantinedObjectWrapper.cpp:
1912 (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper):
1913 * bindings/js/JSQuarantinedObjectWrapper.h:
1914 (WebCore::JSQuarantinedObjectWrapper::createStructure):
1915 * bindings/js/JSRGBColor.h:
1916 (WebCore::JSRGBColor::createStructure):
1917 * bindings/js/JSWorkerContext.cpp:
1918 (WebCore::createJSWorkerContextStructure):
1919 (WebCore::JSWorkerContext::JSWorkerContext):
1920 (WebCore::JSWorkerContext::createPrototype):
1921 * bindings/js/JSWorkerContext.h:
1922 (WebCore::JSWorkerContext::createStructure):
1923 (WebCore::JSWorkerContextPrototype::JSWorkerContextPrototype):
1924 (WebCore::JSWorkerContextPrototype::createStructure):
1925 * bindings/js/JSXMLHttpRequestConstructor.cpp:
1926 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
1927 * bindings/js/JSXSLTProcessorConstructor.cpp:
1928 (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
1929 * bindings/scripts/CodeGeneratorJS.pm:
1930 * bridge/objc/objc_runtime.h:
1931 (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
1932 * bridge/qt/qt_runtime.cpp:
1933 (JSC::Bindings::QtConnectionObject::execute):
1934 * bridge/qt/qt_runtime.h:
1935 (JSC::Bindings::QtRuntimeMethod::createStructure):
1936 * bridge/runtime_array.h:
1937 (JSC::RuntimeArray::createStructure):
1938 * bridge/runtime_method.h:
1939 (JSC::RuntimeMethod::createStructure):
1940 * bridge/runtime_object.cpp:
1941 (JSC::RuntimeObjectImp::RuntimeObjectImp):
1942 * bridge/runtime_object.h:
1943 (JSC::RuntimeObjectImp::createStructure):
1944
19452008-11-15 Darin Adler <darin@apple.com>
1946
darin@apple.com3f57a492008-11-16 04:35:22 +00001947 Reviewed by Dan Bernstein.
1948
1949 - fix just-introduced crash in the svg/custom/svg-fonts-in-html.html test
1950
1951 This gets rid of the crash. It restores the behavior of the CG case from before Dirk
1952 Shulze removed the platorm-dependent code, but perhaps it should be changed further
1953 in the future so that the default for no style is "no stroke". I think the patch is
1954 fine for fill.
1955
1956 * svg/graphics/SVGPaintServerSolid.cpp:
1957 (WebCore::SVGPaintServerSolid::setup): Added null checks for svgStyle.
1958 (WebCore::SVGPaintServerSolid::renderPath): Added null checks for style and svgStyle.
1959
kevino@webkit.org3aafa582008-11-15 23:39:35 +000019602008-11-15 Kevin Ollivier <kevino@theolliviers.com>
1961
1962 Reviewed by Timothy Hatcher.
1963
1964 Initialize m_networkStateChangedFunction to 0 as otherwise the check for null will fail.
1965
1966 https://bugs.webkit.org/show_bug.cgi?id=22284
1967
1968 * platform/network/NetworkStateNotifier.h:
1969 (WebCore::NetworkStateNotifier::NetworkStateNotifier):
1970
krit@webkit.org290bb732008-11-15 20:48:41 +000019712008-11-15 Dirk Schulze <krit@webkit.org>
1972
krit@webkit.org32f135b2008-11-15 23:24:04 +00001973 Reviewed by Geoffrey Garen.
1974
1975 r38426 caused a wrong drawing of a LayoutTest. Use another
1976 way to set the color to pass this test again.
1977
1978 * svg/graphics/SVGPaintServerSolid.cpp:
1979 (WebCore::SVGPaintServerSolid::setup):
1980
19812008-11-15 Dirk Schulze <krit@webkit.org>
1982
krit@webkit.org290bb732008-11-15 20:48:41 +00001983 Reviewed by Darin Adler.
1984
1985 Removed platform dependent code on SVGPaintServerSolid.
1986
1987 * GNUmakefile.am:
1988 * WebCore.pro:
1989 * WebCore.vcproj/WebCore.vcproj:
1990 * WebCore.xcodeproj/project.pbxproj:
1991 * svg/graphics/SVGPaintServerSolid.cpp:
1992 (WebCore::SVGPaintServerSolid::setup):
1993 (WebCore::SVGPaintServerSolid::renderPath):
1994 * svg/graphics/SVGPaintServerSolid.h:
1995 * svg/graphics/cairo/SVGPaintServerSolidCairo.cpp: Removed.
1996 * svg/graphics/cg/SVGPaintServerSolidCg.cpp: Removed.
1997 * svg/graphics/qt/SVGPaintServerSolidQt.cpp: Removed.
1998
ggaren@apple.comb7024cd2008-11-15 19:55:20 +000019992008-11-15 Geoffrey Garen <ggaren@apple.com>
2000
2001 Reviewed by Sam Weinig.
2002
2003 Updated for JavaScriptCore renames.
2004
2005 * bindings/js/JSNodeCustom.cpp:
2006 (WebCore::JSNode::mark):
2007 * bindings/js/JSXMLHttpRequestCustom.cpp:
2008 (WebCore::JSXMLHttpRequest::send):
2009 * bindings/js/ScriptController.cpp:
2010 (WebCore::ScriptController::evaluate):
2011 * bindings/js/WorkerScriptController.cpp:
2012 (WebCore::WorkerScriptController::evaluate):
2013 * bindings/objc/WebScriptObject.mm:
2014 (-[WebScriptObject evaluateWebScript:]):
2015 * bridge/NP_jsobject.cpp:
2016 (_NPN_Evaluate):
2017 * bridge/jni/jni_jsobject.mm:
2018 (JavaJSObject::eval):
2019 * page/Console.cpp:
2020 (WebCore::retrieveLastCaller):
2021 (WebCore::Console::trace):
2022
bolsinga@apple.com97e42c42008-11-15 04:47:20 +000020232008-11-14 Greg Bolsinga <bolsinga@apple.com>
2024
2025 Reviewed by Darin Adler.
2026
2027 https://bugs.webkit.org/show_bug.cgi?id=21810
2028 Remove use of static C++ objects that are destroyed at exit time (destructors)
2029
2030 Create DEFINE_STATIC_LOCAL macro. Change static local objects to leak to avoid
2031 exit-time destructor. Update code that was changed to fix this issue that ran
2032 into a gcc bug (<rdar://problem/6354696> Codegen issue with C++ static reference
2033 in gcc build 5465). Also typdefs for template types needed to be added in some
2034 cases so the type could make it through the macro successfully.
2035
2036 Basically code of the form:
2037 static T m;
2038 becomes:
2039 DEFINE_STATIC_LOCAL(T, m, ());
2040
2041 Also any code of the form:
2042 static T& m = *new T;
2043 also becomes:
2044 DEFINE_STATIC_LOCAL(T, m, ());
2045
2046 * ForwardingHeaders/wtf/StdLibExtras.h: Added.
2047 * bindings/js/GCController.cpp:
2048 (WebCore::gcController):
2049 * bindings/js/JSDOMBinding.cpp:
2050 (WebCore::wrapperSet):
2051 * bindings/js/JSInspectedObjectWrapper.cpp:
2052 (WebCore::wrappers):
2053 * bindings/js/JSInspectorCallbackWrapper.cpp:
2054 (WebCore::wrappers):
2055 * bindings/js/JSNavigatorCustom.cpp:
2056 (WebCore::needsYouTubeQuirk):
2057 * bridge/runtime_root.cpp:
2058 (JSC::Bindings::rootObjectSet):
2059 * css/CSSMutableStyleDeclaration.cpp:
2060 (WebCore::initShorthandMap):
2061 (WebCore::CSSMutableStyleDeclaration::removeProperty):
2062 * css/CSSPrimitiveValue.cpp:
2063 (WebCore::CSSPrimitiveValue::cssText):
2064 * css/CSSSelector.cpp:
2065 (WebCore::CSSSelector::extractPseudoType):
2066 * css/CSSStyleSelector.cpp:
2067 (WebCore::screenEval):
2068 (WebCore::printEval):
2069 * dom/DOMImplementation.cpp:
2070 (WebCore::addString):
2071 (WebCore::isSVG10Feature):
2072 (WebCore::isSVG11Feature):
2073 (WebCore::DOMImplementation::isXMLMIMEType):
2074 * dom/Document.cpp:
2075 (WebCore::Document::hasPrefixNamespaceMismatch):
2076 * dom/ScriptElement.cpp:
2077 (WebCore::isSupportedJavaScriptLanguage):
2078 * editing/ApplyStyleCommand.cpp:
2079 (WebCore::styleSpanClassString):
2080 * editing/HTMLInterchange.cpp:
2081 (WebCore::):
2082 * editing/IndentOutdentCommand.cpp:
2083 (WebCore::indentBlockquoteString):
2084 * editing/ReplaceSelectionCommand.cpp:
2085 (WebCore::isInterchangeNewlineNode):
2086 (WebCore::isInterchangeConvertedSpaceSpan):
2087 * editing/htmlediting.cpp:
2088 (WebCore::stringWithRebalancedWhitespace):
2089 (WebCore::nonBreakingSpaceString):
2090 * editing/markup.cpp:
2091 (WebCore::appendAttributeValue):
2092 (WebCore::appendEscapedContent):
2093 (WebCore::shouldAddNamespaceAttr):
2094 (WebCore::appendNamespace):
2095 (WebCore::appendStartMarkup):
2096 (WebCore::createMarkup):
2097 * html/HTMLButtonElement.cpp:
2098 (WebCore::HTMLButtonElement::type):
2099 * html/HTMLElement.cpp:
2100 (WebCore::HTMLElement::isRecognizedTagName):
2101 (WebCore::inlineTagList):
2102 (WebCore::blockTagList):
2103 * html/HTMLFieldSetElement.cpp:
2104 (WebCore::HTMLFieldSetElement::type):
2105 * html/HTMLInputElement.cpp:
2106 (WebCore::HTMLInputElement::type):
2107 * html/HTMLKeygenElement.cpp:
2108 (WebCore::HTMLKeygenElement::type):
2109 * html/HTMLLegendElement.cpp:
2110 (WebCore::HTMLLegendElement::type):
2111 * html/HTMLOptGroupElement.cpp:
2112 (WebCore::HTMLOptGroupElement::type):
2113 * html/HTMLOptionElement.cpp:
2114 (WebCore::HTMLOptionElement::type):
2115 * html/HTMLParser.cpp:
2116 (WebCore::HTMLParser::getNode):
2117 (WebCore::HTMLParser::isHeaderTag):
2118 (WebCore::HTMLParser::isResidualStyleTag):
2119 (WebCore::HTMLParser::isAffectedByResidualStyle):
2120 * html/HTMLSelectElement.cpp:
2121 (WebCore::HTMLSelectElement::type):
2122 * html/HTMLTextAreaElement.cpp:
2123 (WebCore::HTMLTextAreaElement::type):
2124 * inspector/InspectorController.cpp:
2125 (WebCore::platform):
2126 * inspector/JavaScriptDebugServer.cpp:
2127 (WebCore::JavaScriptDebugServer::shared):
2128 * inspector/JavaScriptProfile.cpp:
2129 (WebCore::profileCache):
2130 * inspector/JavaScriptProfileNode.cpp:
2131 (WebCore::profileNodeCache):
2132 * loader/FrameLoader.cpp:
2133 (WebCore::localSchemes):
2134 * loader/appcache/ApplicationCacheStorage.cpp:
2135 (WebCore::cacheStorage):
2136 * loader/archive/ArchiveFactory.cpp:
2137 (WebCore::archiveMIMETypes):
2138 (WebCore::ArchiveFactory::registerKnownArchiveMIMETypes):
2139 * loader/icon/IconDatabase.cpp:
2140 (WebCore::IconDatabase::defaultDatabaseFilename):
2141 * page/EventHandler.cpp:
2142 (WebCore::EventHandler::dragState):
2143 * page/Frame.cpp:
2144 (WebCore::createRegExpForLabels):
2145 (WebCore::keepAliveSet):
2146 * page/Page.cpp:
2147 (WebCore::Page::groupName):
2148 * page/SecurityOrigin.cpp:
2149 (WebCore::isDefaultPortForProtocol):
2150 (WebCore::SecurityOrigin::databaseIdentifier):
2151 * page/mac/FrameMac.mm:
2152 (WebCore::regExpForLabels):
2153 * platform/KURL.cpp:
2154 (WebCore::blankURL):
2155 * platform/graphics/FontCache.cpp:
2156 (WebCore::alternateFamilyName):
2157 * platform/graphics/mac/FontCacheMac.mm:
2158 (WebCore::FontCache::getSimilarFontPlatformData):
2159 (WebCore::FontCache::getLastResortFallbackFont):
2160 * platform/mac/CursorMac.mm:
2161 (WebCore::leakNamedCursor):
2162 (WebCore::pointerCursor):
2163 (WebCore::crossCursor):
2164 (WebCore::handCursor):
2165 (WebCore::moveCursor):
2166 (WebCore::verticalTextCursor):
2167 (WebCore::cellCursor):
2168 (WebCore::contextMenuCursor):
2169 (WebCore::aliasCursor):
2170 (WebCore::zoomInCursor):
2171 (WebCore::zoomOutCursor):
2172 (WebCore::copyCursor):
2173 (WebCore::noneCursor):
2174 (WebCore::progressCursor):
2175 (WebCore::noDropCursor):
2176 (WebCore::notAllowedCursor):
2177 (WebCore::iBeamCursor):
2178 (WebCore::waitCursor):
2179 (WebCore::helpCursor):
2180 (WebCore::eastResizeCursor):
2181 (WebCore::northResizeCursor):
2182 (WebCore::northEastResizeCursor):
2183 (WebCore::northWestResizeCursor):
2184 (WebCore::southResizeCursor):
2185 (WebCore::southEastResizeCursor):
2186 (WebCore::southWestResizeCursor):
2187 (WebCore::westResizeCursor):
2188 (WebCore::northSouthResizeCursor):
2189 (WebCore::eastWestResizeCursor):
2190 (WebCore::northEastSouthWestResizeCursor):
2191 (WebCore::northWestSouthEastResizeCursor):
2192 (WebCore::columnResizeCursor):
2193 (WebCore::rowResizeCursor):
2194 (WebCore::grabCursor):
2195 (WebCore::grabbingCursor):
2196 * platform/mac/ScrollbarThemeMac.mm:
2197 (WebCore::ScrollbarTheme::nativeTheme):
2198 * platform/mac/ThemeMac.mm:
2199 (WebCore::platformTheme):
2200 * platform/mac/ThreadCheck.mm:
2201 (WebCoreReportThreadViolation):
2202 * platform/network/NetworkStateNotifier.cpp:
2203 (WebCore::networkStateNotifier):
2204 * platform/network/mac/FormDataStreamMac.mm:
2205 (WebCore::getStreamFormDataMap):
2206 (WebCore::getStreamResourceHandleMap):
2207 * platform/network/mac/ResourceResponseMac.mm:
2208 (WebCore::ResourceResponse::platformLazyInit):
2209 * platform/text/TextEncoding.cpp:
2210 (WebCore::TextEncoding::isJapanese):
2211 * plugins/PluginMainThreadScheduler.cpp:
2212 (WebCore::PluginMainThreadScheduler::scheduler):
2213 * rendering/RenderBlock.cpp:
2214 (WebCore::continuationOutlineTable):
2215 (WebCore::RenderBlock::addContinuationWithOutline):
2216 (WebCore::RenderBlock::paintContinuationOutlines):
2217 * rendering/RenderCounter.cpp:
2218 (WebCore::counterMaps):
2219 * rendering/RenderFlexibleBox.cpp:
2220 (WebCore::RenderFlexibleBox::layoutVerticalBox):
2221 * rendering/RenderListItem.cpp:
2222 (WebCore::RenderListItem::markerText):
2223 * rendering/RenderScrollbarTheme.cpp:
2224 (WebCore::RenderScrollbarTheme::renderScrollbarTheme):
2225 * rendering/RenderThemeMac.mm:
2226 (WebCore::RenderThemeMac::systemFont):
2227 * rendering/bidi.cpp:
2228 (WebCore::RenderBlock::checkLinesForTextOverflow):
2229 * rendering/style/RenderStyle.cpp:
2230 (WebCore::RenderStyle::initialDashboardRegions):
2231 (WebCore::RenderStyle::noneDashboardRegions):
2232 * storage/Database.cpp:
2233 (WebCore::guidMutex):
2234 (WebCore::guidToVersionMap):
2235 (WebCore::guidToDatabaseMap):
2236 (WebCore::Database::databaseInfoTableName):
2237 (WebCore::databaseVersionKey):
2238 (WebCore::Database::getVersionFromDatabase):
2239 (WebCore::Database::setVersionInDatabase):
2240 (WebCore::guidForOriginAndName):
2241 * storage/DatabaseTracker.cpp:
2242 (WebCore::DatabaseTracker::tracker):
2243 (WebCore::notificationMutex):
2244 (WebCore::notificationQueue):
2245 * storage/LocalStorage.cpp:
2246 (WebCore::localStorageMap):
2247 * svg/SVGAnimateMotionElement.cpp:
2248 (WebCore::SVGAnimateMotionElement::rotateMode):
2249 * svg/SVGAnimationElement.cpp:
2250 (WebCore::SVGAnimationElement::calcMode):
2251 (WebCore::SVGAnimationElement::attributeType):
2252 (WebCore::SVGAnimationElement::isAdditive):
2253 (WebCore::SVGAnimationElement::isAccumulated):
2254 * svg/SVGLangSpace.cpp:
2255 (WebCore::SVGLangSpace::xmlspace):
2256 * svg/SVGSVGElement.cpp:
2257 (WebCore::SVGSVGElement::contentScriptType):
2258 (WebCore::SVGSVGElement::contentStyleType):
2259 * svg/SVGStyleElement.cpp:
2260 (WebCore::SVGStyleElement::type):
2261 (WebCore::SVGStyleElement::media):
2262 * svg/SVGTextContentElement.cpp:
2263 (WebCore::SVGTextContentElement::parseMappedAttribute):
2264 * svg/animation/SVGSMILElement.cpp:
2265 (WebCore::SVGSMILElement::parseClockValue):
2266 (WebCore::SVGSMILElement::restart):
2267 (WebCore::SVGSMILElement::fill):
2268 (WebCore::SVGSMILElement::repeatCount):
2269 (WebCore::SVGSMILElement::notifyDependentsIntervalChanged):
2270 * svg/graphics/SVGResource.cpp:
2271 (WebCore::clientMap):
2272 (WebCore::SVGResource::removeClient):
2273 * svg/graphics/SVGResourceMarker.cpp:
2274 (WebCore::SVGResourceMarker::draw):
2275 * xml/XMLHttpRequest.cpp:
2276 (WebCore::PreflightResultCacheItem::PreflightResultCacheItem):
2277 (WebCore::preflightResultCache):
2278 (WebCore::appendPreflightResultCacheEntry):
2279 (WebCore::isSafeRequestHeader):
2280 (WebCore::isOnAccessControlResponseHeaderWhitelist):
2281 (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
2282 * xml/XPathExpressionNode.cpp:
2283 (WebCore::XPath::Expression::evaluationContext):
2284 * xml/XPathParser.cpp:
2285 (WebCore::XPath::setUpAxisNamesMap):
2286 (WebCore::XPath::isAxisName):
2287 (WebCore::XPath::isNodeTypeName):
2288 * xml/XPathValue.cpp:
2289 (WebCore::XPath::Value::toNodeSet):
2290
mitz@apple.comddf9b8c2008-11-15 04:24:35 +000022912008-11-14 Dan Bernstein <mitz@apple.com>
2292
2293 - attempt to fix the Qt build
2294
2295 * platform/qt/Localizations.cpp:
2296 (WebCore::contextMenuItemTagTextDirectionMenu): Added. Maybe this string
2297 needs to go somewhere else in addition to here.
2298
kevino@webkit.org66e6bed2008-11-15 03:25:08 +000022992008-11-14 Kevin Ollivier <kevino@theolliviers.com>
2300
2301 wx build fix.
2302
2303 * platform/wx/LocalizedStringsWx.cpp:
2304 (WebCore::contextMenuItemTagTextDirectionMenu):
2305
mitz@apple.comd6ceec82008-11-14 23:50:00 +000023062008-11-14 Dan Bernstein <mitz@apple.com>
2307
2308 Reviewed by Darin Adler.
2309
2310 - <rdar://problem/6234307> Support action methods for setting and clearing character-level directionality
2311 - WebCore part of <rdar://problem/6234337> Add a Text Direction menu to the default context menu when appropriate
2312
2313 * WebCore.base.exp: Exported
2314 WebCore::Settings::setTextDirectionSubmenuInclusionBehavior().
2315
2316 * editing/ApplyStyleCommand.cpp:
2317 (StyleChange::init): Changed to always include the direction property
2318 in the result if the unicode-bidi property is included.
2319 (ApplyStyleCommand::splitAncestorsWithUnicodeBidi): Added. Finds the
2320 highest ancestor of the given node that establishes bidi embedding. If
2321 that embedding agrees with the given allowed direction, finds the
2322 second-highest embedding ancestor. Splits all nodes through that
2323 ancestor. If the highest embedding ancestor did not need to be split,
2324 it is returned.
2325 (ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock): Added. Removes
2326 bidi embedding attributes and styles from all ancestors of the given
2327 node up to its enclosing block or the given node.
2328 (ApplyStyleCommand::applyInlineStyle): Added code to handle the
2329 unicode-bidi property. Applying style the includes this property
2330 involves removing all bidi embedding in effect, except for one-level
2331 embedding that agrees with the desired embedding, then applying the
2332 desired embedding where it is not already in effect.
2333 (ApplyStyleCommand::applyInlineStyleToRange): Factored out from
2334 applyInlineStyle().
2335 (ApplyStyleCommand::removeHTMLBidiEmbeddingStyle): Added. Removed the
2336 "dir" attribute if necessary and the element if it becomes an unstyled
2337 style span.
2338 (ApplyStyleCommand::removeCSSStyle): Changed to remove the direction
2339 property when removing the unicode-bidi property.
2340 (ApplyStyleCommand::removeInlineStyle): Added a call to
2341 removeHTMLBidiEmbeddingStyle().
2342
2343 * editing/ApplyStyleCommand.h:
2344 * editing/Editor.cpp:
2345 (Editor::textDirectionForSelection): Added. Returns the character-level
2346 writing direction of the selection if it is uniform and simple (at most
2347 one level of embedding).
2348 (Editor::hasBidiSelection): Added. Returns true if the selection lies
2349 entirely within a single block, and that block has direction:rtl or
2350 contains any inline boxes with non-zero bidi embedding level.
2351
2352 * editing/Editor.h:
2353 * editing/EditorCommand.cpp:
2354 (stateTextWritingDirection): Added this helper function for deciding
2355 the state of Text Direction submenu items.
2356 (executeMakeTextWritingDirectionLeftToRight): Added. Applies
2357 "unicode-bidi: embed; direction: ltr;".
2358 (executeMakeTextWritingDirectionNatural): Added. Applies
2359 "unicode-bidi: normal;"
2360 (executeMakeTextWritingDirectionRightToLeft): Added. Applies
2361 "unicode-bidi: embed; direction: rtl;".
2362 (stateTextWritingDirectionLeftToRight): Added.
2363 (stateTextWritingDirectionNatural): Added.
2364 (stateTextWritingDirectionRightToLeft): Added.
2365 (createCommandMap): Added "MakeTextWritingDirectionLeftToRight",
2366 "MakeTextWritingDirectionNatural",
2367 and "MakeTextWritingDirectionRightToLeft".
2368
2369 * editing/InsertTextCommand.cpp:
2370 (InsertTextCommand::input): Added code to maintain the unicode-bidi
2371 and direction properties in the typing style. Even if they have the
2372 same values as the computed style at the caret, they need to be included
2373 in the typing style so that inserted text will not inherit any nested
2374 embedding.
2375
2376 * page/ContextMenuController.cpp:
2377 (ContextMenuController::contextMenuItemSelected): Added calls to
2378 the editor for the text direction menu items.
2379
2380 * page/Frame.cpp
2381 (Frame::computeAndSetTypingStyle): Added code to maintain the
2382 unicode-bidi and direction properties in the typing style.
2383
2384 * page/Settings.cpp:
2385 (Settings::setTextDirectionSubmenuInclusionBehavior): Added this setter.
2386
2387 * page/Settings.h: Added a TextDirectionSubmenuInclusionBehavior enum,
2388 an m_textDirectionSubmenuInclusionBehavior member, and accessors.
2389
2390 * page/mac/WebCoreViewFactory.h:
2391 * platform/ContextMenu.cpp:
2392 (WebCore::createAndAppendTextDirectionSubMenu): Added.
2393 (ContextMenu::populate): Added the Text Direction submenu item based on
2394 the inclusion behavior and the existence of a bidi selection.
2395 (ContextMenu::checkOrEnableIfNeeded): Added code for the text direction
2396 menu items.
2397
2398 * platform/ContextMenuItem.h:
2399 * platform/LocalizedStrings.h: Declared
2400 contextMenuItemTagTextDirectionMenu().
2401
2402 * platform/mac/LocalizedStringsMac.mm: Defined
2403 contextMenuItemTagTextDirectionMenu().
2404
2405 * rendering/RenderBlock.cpp:
2406 (RenderBlock::containsNonZeroBidiLevel): Added.
2407 * rendering/RenderBlock.h:
2408
bolsinga@apple.comf5045502008-11-14 23:48:26 +000024092008-11-14 Greg Bolsinga <bolsinga@apple.com>
2410
2411 Reviewed by Darin Adler.
2412
2413 https://bugs.webkit.org/show_bug.cgi?id=22264
2414 Need to update to latest Geolocation spec (13 November 2008)
2415
2416 Update to new error code constants and values.
2417
2418 * page/Geolocation.cpp: Use new named ErrorCode enums
2419 (WebCore::Geolocation::GeoNotifier::timerFired):
2420 (WebCore::Geolocation::getCurrentPosition):
2421 (WebCore::Geolocation::watchPosition):
2422 * page/PositionError.h: Have ErrorCode enum names match new error constant names and values
2423 (WebCore::PositionError::):
2424 * page/PositionError.idl: Add new named error constants
2425
bdakin@apple.comf6ce38c2008-11-14 23:37:50 +000024262008-11-14 Beth Dakin <bdakin@apple.com>
2427
2428 Reviewed by Justin Garcia.
2429
2430 Fix (again) for <rdar://problem/5089327> Too much indentation when
2431 pasting quoted paragraphs
2432
2433 This patch goes back to Justin's original approach to fix this bug,
2434 written in revision 38273. That fix was mostly rolled out by
2435 revision 38310 because of styling issues created by the addition of
2436 extra blockquote nodes. This patch again goes back to Justin's
2437 original fix because of cases we discovered the newer fix could not
2438 possibly cover. This version of the patch minimizes the styling
2439 issues of extra blockquotes by opting into the merge start code.
2440
2441 * editing/ReplaceSelectionCommand.cpp:
2442 (WebCore::hasMatchingQuoteLevel): We want shouldMergeStart to
2443 return true when the quoting level of the end of the inserted
2444 content matches the quoting level of the end of the existing
2445 content.
2446 (WebCore::ReplaceSelectionCommand::shouldMergeStart): Now calls
2447 hasMatchingQuoteLevel
2448 (WebCore::ReplaceSelectionCommand::doApply):
2449
eric@webkit.org0dd61062008-11-14 21:41:56 +000024502008-11-14 Dirk Schulze <vbs85@gmx.de>
2451
2452 Reviewed by Eric Seidel.
2453
2454 Made SVGResourceClipper platform independent.
2455 https://bugs.webkit.org/show_bug.cgi?id=21444
2456
2457 * GNUmakefile.am:
2458 * WebCore.pro:
2459 * WebCore.vcproj/WebCore.vcproj:
2460 * WebCore.xcodeproj/project.pbxproj:
2461 * platform/graphics/GraphicsContext.h:
2462 * platform/graphics/cairo/GraphicsContextCairo.cpp:
2463 (WebCore::GraphicsContext::clipPath):
2464 * platform/graphics/cg/GraphicsContextCG.cpp:
2465 (WebCore::GraphicsContext::clipPath):
2466 * platform/graphics/qt/GraphicsContextQt.cpp:
2467 (WebCore::GraphicsContext::addPath):
2468 (WebCore::GraphicsContext::clipPath):
2469 * svg/graphics/SVGResourceClipper.cpp:
2470 (WebCore::SVGResourceClipper::applyClip):
2471 * svg/graphics/cairo/SVGResourceClipperCairo.cpp: Removed.
2472 * svg/graphics/cg/SVGResourceClipperCg.cpp: Removed.
2473 * svg/graphics/qt/SVGResourceClipperQt.cpp: Removed.
2474
antti@apple.comc633dca2008-11-14 21:34:55 +000024752008-11-14 Antti Koivisto <antti@apple.com>
2476
2477 Reviewed by Anders Carlsson.
2478
2479 Combine loadFrameRequestWithFormState to loadFrameRequestWithFormAndValues.
2480
2481 * loader/FrameLoader.cpp:
2482 (WebCore::FrameLoader::loadFrameRequestWithFormAndValues):
2483 * loader/FrameLoader.h:
2484
weinig@apple.comd7fe7482008-11-14 20:02:05 +000024852008-11-14 Sam Weinig <sam@webkit.org>
2486
2487 Reviewed by Eric Seidel.
2488
2489 Remove unneeded forward declaration.
2490
2491 * plugins/Plugin.h:
2492
darin@chromium.org53564932008-11-14 18:53:39 +000024932008-11-14 Darin Fisher <darin@chromium.org>
2494
2495 Reviewed by Darin Adler.
2496
2497 https://bugs.webkit.org/show_bug.cgi?id=22251
2498 HTMLCanvasElement.cpp unnecessarily includes runtime/Interpreter.h
2499
2500 * html/HTMLCanvasElement.cpp:
2501
hausmann@webkit.orgf0f936a2008-11-14 18:39:48 +000025022008-11-14 Yael Aharon <yael.aharon@nokia.com>
2503
2504 Reviewed by Simon Hausmann.
2505
hausmann@webkit.org430f7fe2008-11-14 18:40:14 +00002506 Add new files from the Qt port to the build.
2507
2508 * WebCore.pro:
2509
25102008-11-14 Yael Aharon <yael.aharon@nokia.com>
2511
2512 Reviewed by Simon Hausmann.
2513
hausmann@webkit.org62424c92008-11-14 18:39:56 +00002514 Made DatabaseTracker::hasEntryForOrigin() public. This allows the Qt
2515 port to apply a default quota only if there is no entry in the
2516 database for a given origin yet.
2517
2518 * storage/DatabaseTracker.h:
2519
25202008-11-14 Yael Aharon <yael.aharon@nokia.com>
2521
2522 Reviewed by Simon Hausmann.
2523
hausmann@webkit.orgf0f936a2008-11-14 18:39:48 +00002524 Make it possible to get the cache directory set in the application
2525 cache storage.
2526
2527 * loader/appcache/ApplicationCacheStorage.cpp:
2528 (WebCore::ApplicationCacheStorage::cacheDirectory): Added.
2529 * loader/appcache/ApplicationCacheStorage.h:
2530
justin.garcia@apple.com5b803002008-11-14 18:30:36 +000025312008-11-14 Justin Garcia <justin.garcia@apple.com>
2532
2533 Reviewed by Beth Dakin.
2534
2535 <rdar://problem/4230923> "Make Plain Text" doesn't reset text alignment in single paragraph messages
2536
2537 When applying block styles, we would add block properties to the body element, and Mail's
2538 Make Plain Text feature isn't equipped to remove those. This could have been fixed on our side,
2539 but this change has the advantage that it fixes the bug on Tiger, where Mail does not plan future updates.
2540
2541 We have code that puts the paragraphs that we're operating on into blocks of their own before
2542 adding or removing block properties from the blocks that enclose them. We need to run this code
2543 when the enclosing block is the body element.
2544
2545 * editing/CompositeEditCommand.cpp:
2546 (WebCore::CompositeEditCommand::insertNewDefaultParagraphElementAt): Added, moved code from moveParagraphContents
2547 to here.
2548 (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): Renamed some variables for clarity.
2549 Added a few comments. Fixed bug by not bailing out when the block about to be used is the body element.
2550 * editing/CompositeEditCommand.h:
2551
cwzwarich@webkit.org770a8a82008-11-14 17:49:56 +000025522008-11-14 Cameron Zwarich <zwarich@apple.com>
2553
2554 Reviewed by Darin Adler.
2555
2556 Bug 22245: Move wtf/dtoa.h into the WTF namespace
2557 <https://bugs.webkit.org/show_bug.cgi?id=22245>
2558
2559 Move wtf/dtoa.h into the WTF namespace from the JSC namespace.
2560
2561 * platform/text/String.cpp:
2562 (WebCore::charactersToDouble):
2563
vestbo@webkit.org6d154272008-11-14 11:20:48 +000025642008-11-14 Tor Arne Vestbø <tavestbo@trolltech.com>
2565
2566 Rubber-stamped by Simon Hausmann.
2567
vestbo@webkit.org66a87f22008-11-14 11:21:08 +00002568 Make sure Qt scrollbars follow the style with regard to context menus
2569
2570 * platform/qt/ScrollbarQt.cpp:
2571 (WebCore::Scrollbar::contextMenu):
2572
25732008-11-14 Tor Arne Vestbø <tavestbo@trolltech.com>
2574
2575 Rubber-stamped by Simon Hausmann.
2576
vestbo@webkit.org6d154272008-11-14 11:20:48 +00002577 Make scrollbar look active when the window is active on Qt/Mac
2578
2579 * platform/qt/ScrollbarThemeQt.cpp:
2580 (WebCore::styleOptionSlider):
2581 (WebCore::ScrollbarThemeQt::paint):
2582
eric@webkit.orgf3a46352008-11-14 04:26:21 +000025832008-11-13 Eric Seidel <eric@webkit.org>
2584
2585 Reviewed by Adam Roben.
2586
2587 Add a basic Scons-based build system for building
2588 Chromium-Mac WebCore.
2589 https://bugs.webkit.org/show_bug.cgi?id=21991
2590
2591 The build currently fails due to missing files from our
2592 platform directory (platform skia and platform chromium)
2593 I will be sending those up shortly in separate patches.
2594 I expect it will be a while before our WebCore build links.
2595
2596 * SConstruct: Added.
2597 * WebCore.scons: Added.
2598
darin@chromium.orgf089f552008-11-14 01:54:12 +000025992008-11-13 Darin Fisher <darin@chromium.org>
2600
2601 Reviewed by Darin Adler.
2602
2603 https://bugs.webkit.org/show_bug.cgi?id=22248
2604 AtomicString.cpp uses JSC types outside of #if USE(JSC)
2605
2606 * platform/text/AtomicString.cpp:
2607 (WebCore::AtomicString::add):
justin.garcia@apple.com5b803002008-11-14 18:30:36 +00002608
justin.garcia@apple.com3de84072008-11-13 21:04:51 +000026092008-11-13 Justin Garcia <justin.garcia@apple.com>
2610
2611 Reviewed by Darin Adler.
2612
2613 https://bugs.webkit.org/show_bug.cgi?id=18620
2614 Long hang under TextIterator::advance() when loading http://www.lsvd.de/
2615
2616 A huge section at the beginning of this document is invisible. As we iterate through it,
2617 we create VisiblePositions unnecessarily.
2618
2619 * editing/TextIterator.cpp:
2620 (WebCore::TextIterator::shouldRepresentNodeOffsetZero): Don't proceed to VisiblePosition
2621 creation if m_node is unrendered or invisible. The answers wouldn't have much meaning
2622 and would be wasteful. Also fixed some comments to reflect the fact that this function
2623 isn't specifically about emitting a newline.
2624
cmarrin@apple.com0a75f9c2008-11-13 18:49:04 +000026252008-11-13 Pierre-Olivier Latour <pol@apple.com>
2626
2627 Reviewed by Sam Weinig.
2628
2629 Remove unused or unnecessary code from AnimationBase class.
2630
2631 * page/animation/AnimationBase.cpp:
2632 (WebCore::AnimationBase::AnimationBase):
2633 (WebCore::AnimationBase::playStatePlaying):
2634 * page/animation/AnimationBase.h:
2635
vestbo@webkit.org404a4712008-11-13 15:20:43 +000026362008-11-12 Tor Arne Vestbø <tavestbo@trolltech.com>
2637
2638 Reviewed by Simon Hausmann.
2639
2640 Inital implementation of PluginPackage and PluginView for Mac NPAPI support in WebCore
2641
2642 Currently only used by QtWebKit. See also:
2643
2644 https://bugs.webkit.org/show_bug.cgi?id=21427
2645
2646 * WebCore.pro:
2647 * platform/qt/TemporaryLinkStubs.cpp:
2648 (PluginView::userAgentStatic):
2649 (PluginView::getValueStatic):
2650 * plugins/PluginView.cpp:
2651 (WebCore::PluginView::handleEvent):
2652 (WebCore::PluginView::setValue):
2653 (WebCore::PluginView::PluginView):
2654 * plugins/PluginView.h:
2655 (WebCore::PluginView::setPlatformPluginWidget):
2656 * plugins/mac/PluginPackageMac.cpp: Added.
2657 (WebCore::PluginPackage::determineQuirks):
2658 (WebCore::readPListFile):
2659 (WebCore::stringListFromResourceId):
2660 (WebCore::PluginPackage::fetchInfo):
2661 (WebCore::PluginPackage::load):
2662 (WebCore::PluginPackage::hash):
2663 (WebCore::PluginPackage::equal):
2664 (WebCore::PluginPackage::compareFileVersion):
2665 * plugins/mac/PluginViewMac.cpp: Added.
2666 (WebCore::nativeWindowFor):
2667 (WebCore::cgHandleFor):
2668 (WebCore::topLevelOffsetFor):
2669 (WebCore::PluginView::init):
2670 (WebCore::PluginView::~PluginView):
2671 (WebCore::PluginView::stop):
2672 (WebCore::PluginView::getValueStatic):
2673 (WebCore::PluginView::getValue):
2674 (WebCore::PluginView::setParent):
2675 (WebCore::PluginView::show):
2676 (WebCore::PluginView::hide):
2677 (WebCore::PluginView::setFocus):
2678 (WebCore::PluginView::setParentVisible):
2679 (WebCore::PluginView::setNPWindowRect):
2680 (WebCore::PluginView::setNPWindowIfNeeded):
2681 (WebCore::PluginView::updatePluginWidget):
2682 (WebCore::PluginView::paint):
2683 (WebCore::PluginView::invalidateRect):
2684 (WebCore::PluginView::invalidateRegion):
2685 (WebCore::PluginView::forceRedraw):
2686 (WebCore::PluginView::handleMouseEvent):
2687 (WebCore::PluginView::handleKeyboardEvent):
2688 (WebCore::PluginView::nullEventTimerFired):
2689 (WebCore::modifiersForEvent):
2690 (WebCore::PluginView::globalMousePosForPlugin):
2691 (WebCore::PluginView::dispatchNPEvent):
2692 (WebCore::PluginView::userAgent):
2693 (WebCore::PluginView::userAgentStatic):
2694 (WebCore::PluginView::handlePostReadFile):
2695
ap@webkit.org3568f132008-11-13 07:27:12 +000026962008-11-12 Alexey Proskuryakov <ap@webkit.org>
2697
2698 Reviewed by Darin Adler.
2699
ap@webkit.org0c815c02008-11-13 07:32:43 +00002700 https://bugs.webkit.org/show_bug.cgi?id=22200
2701 Crash when close event is dispatched to MessagePort due to document destruction
2702
2703 Test: fast/events/message-port-onclose.html
2704
2705 * dom/MessagePort.cpp: (WebCore::MessagePort::contextDestroyed):
2706 Don't dispatch close event, even though HTML5 currently says that we should. It is not
2707 right for GC to have observable effects.
2708
27092008-11-12 Alexey Proskuryakov <ap@webkit.org>
2710
2711 Reviewed by Darin Adler.
2712
ap@webkit.org3568f132008-11-13 07:27:12 +00002713 https://bugs.webkit.org/show_bug.cgi?id=22203
2714 Implement Worker messaging
2715
2716 No test cases included, because this functionality is disabled by default.
2717
2718 The implementation is known to still have many race condition, but works quite well for
2719 testing.
2720
2721 * WebCore.xcodeproj/project.pbxproj: Added WorkerTask.{h,cpp}.
2722
2723 * bindings/js/JSDOMBinding.cpp:
2724 (WebCore::markActiveObjectsForContext): Re-worded comments a little.
2725 (WebCore::markCrossHeapDependentObjectsForContext): Existing cross-heap GC protocol was
2726 incorrect, changed it to a much simpler (but still incorrect) version.
2727
2728 * dom/WorkerTask.cpp: Added.
2729 (WebCore::WorkerTask::~WorkerTask):
2730 * dom/WorkerTask.h: Added.
2731 Tasks posted to workers implement this new interface.
2732
2733 * bindings/js/JSDedicatedWorkerCustom.cpp:
2734 (WebCore::JSDedicatedWorker::mark):
2735 (WebCore::JSDedicatedWorker::connect):
2736 * dom/DedicatedWorker.h:
2737 * dom/DedicatedWorker.idl:
2738 Auto-generate event listener attributes. Renamed startConversation() to connect(), tracking
2739 WHATWG discussions.
2740
2741 * dom/DedicatedWorker.cpp:
2742 (WebCore::WorkerConnectTask::WorkerConnectTask): A task that performs worker-side connect()
2743 operations.
2744 (WebCore::DedicatedWorker::DedicatedWorker): Initialize WorkerThread pointer.
2745 (WebCore::DedicatedWorker::connect): Connect() creates a pair of entangled ports, and posts
2746 one to worker. Since message port registration in ScriptExecutionContext is not thread safe,
2747 this port starts with a null context pointer.
2748 (WebCore::DedicatedWorker::notifyFinished): Since Worker methods should work immediately
2749 after creation, we have to queue tasks until after a WorkerThread object is created. Then we
2750 forward all queued tasks to its queue.
2751
2752 * dom/EventTarget.cpp: (WebCore::EventTarget::toWorkerContext):
2753 * dom/EventTarget.h:
2754 * bindings/js/JSEventTarget.cpp: (WebCore::toJS):
2755 Added cases for WorkerContext, which is now an EventTarget, too.
2756
2757 * bindings/js/JSWorkerContext.h: Added JSWorkerContext::put() to make onconnect settable.
2758 * bindings/js/JSWorkerContext.cpp:
2759 (WebCore::JSWorkerContext::mark): Mark event listeners.
2760 (WebCore::JSWorkerContext::createPrototype): Fixed a typo, use the right StructureID.
2761 (WebCore::JSWorkerContext::put): Implemented.
2762 (WebCore::jsWorkerContextPrototypeFunctionAddEventListener): Added an EventTarget implementation.
2763 (WebCore::jsWorkerContextPrototypeFunctionRemoveEventListener): Ditto.
2764 (WebCore::jsWorkerContextPrototypeFunctionDispatchEvent): Ditto.
2765 (WebCore::jsWorkerContextOnconnect): Added.
2766 (WebCore::setJSWorkerContextOnconnect): Added.
2767
2768 * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate):
2769 Made it actually work by adding necessary setup.
2770
2771 * bindings/js/WorkerScriptController.h: (WebCore::WorkerScriptController::initScriptIfNeeded):
2772 Check the right variable - it is the wrapper that may not be initialized yet.
2773
2774 * dom/ActiveDOMObject.cpp:
2775 (WebCore::ActiveDOMObject::ActiveDOMObject):
2776 (WebCore::ActiveDOMObject::~ActiveDOMObject):
2777 Assert being called from the correct thread, as active DOM object tracking is not thread safe.
2778
2779 * dom/ScriptExecutionContext.h: Added a Task interface and a postTask() method, to be used
2780 for asynchronously executing tasks in context's thread.
2781
2782 * dom/ScriptExecutionContext.cpp:
2783 (WebCore::ProcessMessagesSoonTask): Changed from a Timer to a Task
2784 (WebCore::ScriptExecutionContext::ScriptExecutionContext): Removed m_firedMessagePortTimer.
2785 It was an optimization that couldn't be easily preserved without introducing race conditions
2786 in multithreading case.
2787 (WebCore::ScriptExecutionContext::processMessagePortMessagesSoon): Use postTask().
2788 (WebCore::ScriptExecutionContext::dispatchMessagePortEvents): Added a comment explaining
2789 why it's OK to not ref() ports in a frozen copy.
2790 (WebCore::ScriptExecutionContext::createdMessagePort): Assert that we're not being called
2791 from a wrong thread.
2792 (WebCore::ScriptExecutionContext::destroyedMessagePort): Ditto.
2793 (WebCore::ScriptExecutionContextTaskTimer): Part of
2794 ScriptExecutionContext::Task implementation - use Timer if posting from main thread to main
2795 thread.
2796 (WebCore::ScriptExecutionContextTaskWorkerTask): Another part - use WorkerTask if posting
2797 to a worker.
2798 (WebCore::PerformTaskContext::PerformTaskContext): Finally, use callOnMainThread() if posting
2799 to main thread from a secondary one.
2800 (WebCore::performTask): A helper function for callOnMainThread().
2801 (WebCore::ScriptExecutionContext::postTask): Use one of the above implementations.
2802
2803 * dom/MessagePort.h: Fixed message queue to keep EventData pointers - otherwise, we would
2804 ref/deref EventData::message from different threads, which is not allowed.
2805
2806 * dom/MessagePort.cpp:
2807 (WebCore::MessagePortCloseEventTask): Use a task instead of a timer to work across threads.
2808 (WebCore::MessagePort::EventData::create): Updated for EventData being refcountable now.
2809 (WebCore::MessagePort::EventData::EventData): Ditto.
2810 (WebCore::MessagePort::MessagePort): ScriptExecutionContext is now allowed to be null at
2811 first, because we need to create ports for posting to other threads, and it is not possible
2812 to register in a context from another thread.
2813 (WebCore::MessagePort::clone): Always create ports with null contexts - it is now message
2814 receiver's job to set the context.
2815 (WebCore::MessagePort::postMessage): Enable posting to ports that are not attached to any
2816 context yet.
2817 (WebCore::MessagePort::startConversation): Ditto. Data port is always posted unattached.
2818 (WebCore::MessagePort::contextDestroyed): Assert that we had a context.
2819 (WebCore::MessagePort::attachToContext): Called when receiving a data port to register in
2820 context.
2821 (WebCore::MessagePort::scriptExecutionContext): Moved from header, as the function is virtual.
2822 (WebCore::MessagePort::dispatchMessages): Attach data port to receiving context. Use postTask().
2823 (WebCore::MessagePort::queueCloseEvent): Use postTask().
2824 (WebCore::MessagePort::hasPendingActivity): Reworded comment a little. As mentioned above,
2825 MessagePort cross-heap GC is still quite wrong.
2826
2827 * dom/WorkerContext.h: Made WorkerContext an event target, added onconnect attribute.
2828 * dom/WorkerContext.cpp: Keep a pointer to WorkerThread. It is only used for debug assertions
2829 now, but there is no harm in tracking it in release builds, too.
2830
2831 * dom/WorkerThread.cpp:
2832 (WebCore::WorkerThread::create): WorkerThread is refcountable, construct with create().
2833 (WebCore::WorkerThread::workerThread): Implemented a message loop.
2834 * dom/WorkerThread.h:
2835 (WebCore::WorkerThread::threadID): Also only used for assertions.
2836 (WebCore::WorkerThread::messageQueue): Return a reference to queue, so clients can post to it.
2837
2838 * page/DOMWindow.cpp:
2839 (WebCore::DOMWindow::postMessage): MessagePort::clone() no longer takes a context, as it
2840 always sets it to null.
2841 (WebCore::DOMWindow::postMessageTimerFired): Attach data port to receiving context.
2842
krit@webkit.org5a0e4672008-11-13 07:17:53 +000028432008-11-12 Dirk Schulze <vbs85@gmx.de>
2844
2845 Reviewed Darin Adler.
2846
2847 use strokeColor.alpha() instead of fillColor.alpha()
2848 on GraphicsContext::strokePath()
2849
2850 [Canvas] Transparent fillStyle stops line rendering
2851 https://bugs.webkit.org/show_bug.cgi?id=21888
2852
2853 Test: fast/canvas/canvas-stroke-empty-fill.html
2854
2855 * ChangeLog:
2856 * platform/graphics/cg/GraphicsContextCG.cpp:
2857 (WebCore::GraphicsContext::strokePath):
2858
slewis@apple.com952b90f2008-11-13 06:08:46 +000028592008-11-12 Stephanie <slewis@apple.com>
2860
2861 Reviewed by Mark Rowe.
2862
2863 Fix context leak in XSLStyleSheets.
2864 See bug https://bugs.webkit.org/show_bug.cgi?id=15715
2865
2866 * xml/XSLStyleSheet.cpp:
2867 (WebCore::XSLStyleSheet::parseString):
2868
alp@webkit.org8ad90d42008-11-13 00:44:05 +000028692008-11-12 Alp Toker <alp@nuanti.com>
2870
alp@webkit.org42526642008-11-13 04:26:39 +00002871 autotools: List web worker-related headers needed for a successful
2872 build. distcheck is passing again with this change.
2873
2874 * GNUmakefile.am:
2875
28762008-11-12 Alp Toker <alp@nuanti.com>
2877
alp@webkit.org8044cb92008-11-13 02:30:09 +00002878 autotools build system fix-up only. Add FloatQuad.h to the source
2879 lists and sort them.
2880
2881 * GNUmakefile.am:
2882
28832008-11-12 Alp Toker <alp@nuanti.com>
2884
alp@webkit.org8ad90d42008-11-13 00:44:05 +00002885 Build fixes for r38346. FloatQuad.cpp is missing:
2886
2887 1) #include "config.h"
2888 2) #include <algorithm> for various mathematical definitions it uses.
2889
2890 * platform/graphics/FloatQuad.cpp:
2891
simon.fraser@apple.comaacf70e2008-11-12 23:43:52 +000028922008-11-12 Simon Fraser <simon.fraser@apple.com>
2893
simon.fraser@apple.comd12c84b2008-11-13 01:32:11 +00002894 Reviewed by Dan Bernstein
2895
2896 https://bugs.webkit.org/show_bug.cgi?id=22212
2897
2898 Rename absoluteOutlineBox() to absoluteOutlineBounds(), to indicate that
2899 it may be the bounding outline box of a transformed element, and fix it
2900 to respect transforms by mapping the outline box to an absolute quad and
2901 taking the enclosing rect.
2902
2903 RenderBox::localToAbsoluteQuad() can no longer assert that there is no
2904 LayoutState, but LayoutState cannot be used during quad mapping (it knows
2905 nothing about transforms).
2906
2907 Finally, fix a bug in RenderBox::localToAbsoluteQuad() which was getting
2908 borderTopExtra() from the object, rather than its container (as localToAbsolute()
2909 does).
2910
2911 Test: fast/repaint/transform-absolute-child.html
2912
2913 * rendering/RenderBlock.cpp:
2914 (WebCore::RenderBlock::layoutBlock):
2915 * rendering/RenderBox.cpp:
2916 (WebCore::RenderBox::localToAbsoluteQuad):
2917 * rendering/RenderFlexibleBox.cpp:
2918 (WebCore::RenderFlexibleBox::layoutBlock):
2919 * rendering/RenderForeignObject.cpp:
2920 (WebCore::RenderForeignObject::layout):
2921 * rendering/RenderLayer.cpp:
2922 (WebCore::RenderLayer::updateLayerPositions):
2923 (WebCore::RenderLayer::setHasVisibleContent):
2924 * rendering/RenderObject.cpp:
2925 (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
2926 (WebCore::RenderObject::absoluteOutlineBounds):
2927 * rendering/RenderObject.h:
2928 * rendering/RenderPath.cpp:
2929 (WebCore::RenderPath::layout):
2930 * rendering/RenderReplaced.cpp:
2931 (WebCore::RenderReplaced::layout):
2932 * rendering/RenderSVGContainer.cpp:
2933 (WebCore::RenderSVGContainer::layout):
2934 * rendering/RenderSVGImage.cpp:
2935 (WebCore::RenderSVGImage::layout):
2936 * rendering/RenderSVGRoot.cpp:
2937 (WebCore::RenderSVGRoot::layout):
2938 * rendering/RenderSVGText.cpp:
2939 (WebCore::RenderSVGText::layout):
2940 * rendering/RenderSVGViewportContainer.cpp:
2941 (WebCore::RenderSVGViewportContainer::layout):
2942 * rendering/RenderTable.cpp:
2943 (WebCore::RenderTable::layout):
2944
29452008-11-12 Simon Fraser <simon.fraser@apple.com>
2946
simon.fraser@apple.comaacf70e2008-11-12 23:43:52 +00002947 Reviewed by Dave Hyatt
2948
2949 https://bugs.webkit.org/show_bug.cgi?id=21942
2950 https://bugs.webkit.org/show_bug.cgi?id=18557
2951
2952 Add methods which can be used to map renderer-local rectangles
2953 to quads in absolute coordinates, taking transforms into account:
2954 localToAbsoluteQuad() converts a local rect into an absolute quad.
2955 collectAbsoluteLineBoxQuads() is an analogue of addLineBoxRects()
2956 that works with quads.
2957 absoluteQuads() is an analogue of absoluteRects(), for quads.
2958
2959 Use the quad methods to fix the inspector highlight for transformed
2960 elements.
2961
2962 * GNUmakefile.am:
2963 * WebCore.pro:
2964 * WebCore.vcproj/WebCore.vcproj:
2965 * WebCore.xcodeproj/project.pbxproj:
2966 * WebCoreSources.bkl:
2967 * inspector/InspectorController.cpp:
2968 (WebCore::drawOutlinedQuad):
2969 (WebCore::drawHighlightForBoxes):
2970 (WebCore::frameToMainFrameOffset):
2971 (WebCore::InspectorController::drawNodeHighlight):
2972 * platform/graphics/AffineTransform.cpp:
2973 (WebCore::AffineTransform::mapQuad):
2974 * platform/graphics/AffineTransform.h:
2975 * platform/graphics/FloatQuad.cpp: Added.
2976 (WebCore::min4):
2977 (WebCore::max4):
2978 (WebCore::FloatQuad::boundingBox):
2979 * platform/graphics/FloatQuad.h: Added.
2980 (WebCore::FloatQuad::FloatQuad):
2981 (WebCore::FloatQuad::p1):
2982 (WebCore::FloatQuad::p2):
2983 (WebCore::FloatQuad::p3):
2984 (WebCore::FloatQuad::p4):
2985 (WebCore::FloatQuad::setP1):
2986 (WebCore::FloatQuad::setP2):
2987 (WebCore::FloatQuad::setP3):
2988 (WebCore::FloatQuad::setP4):
2989 (WebCore::FloatQuad::isEmpty):
2990 (WebCore::FloatQuad::enclosingBoundingBox):
2991 (WebCore::FloatQuad::move):
2992 (WebCore::operator+=):
2993 (WebCore::operator-=):
2994 (WebCore::operator==):
2995 (WebCore::operator!=):
2996 * rendering/RenderBox.cpp:
2997 (WebCore::RenderBox::localToAbsoluteQuad):
2998 * rendering/RenderBox.h:
2999 * rendering/RenderContainer.cpp:
3000 (WebCore::RenderContainer::collectAbsoluteLineBoxQuads):
3001 * rendering/RenderContainer.h:
3002 * rendering/RenderInline.cpp:
3003 (WebCore::RenderInline::absoluteQuads):
3004 * rendering/RenderInline.h:
3005 * rendering/RenderObject.cpp:
3006 (WebCore::RenderObject::absoluteBoundingBoxRect):
3007 (WebCore::RenderObject::collectAbsoluteLineBoxQuads):
3008 (WebCore::RenderObject::absoluteQuads):
3009 (WebCore::RenderObject::localToAbsoluteQuad):
3010 (WebCore::RenderObject::absoluteContentQuad):
3011 * rendering/RenderObject.h:
3012 * rendering/RenderPath.cpp:
3013 (WebCore::RenderPath::absoluteQuads):
3014 * rendering/RenderPath.h:
3015 * rendering/RenderSVGContainer.cpp:
3016 (WebCore::RenderSVGContainer::absoluteQuads):
3017 * rendering/RenderSVGContainer.h:
3018 * rendering/RenderSVGHiddenContainer.cpp:
3019 (WebCore::RenderSVGHiddenContainer::absoluteQuads):
3020 * rendering/RenderSVGHiddenContainer.h:
3021 * rendering/RenderSVGImage.cpp:
3022 (WebCore::RenderSVGImage::calculateAbsoluteBounds):
3023 (WebCore::RenderSVGImage::absoluteQuads):
3024 * rendering/RenderSVGImage.h:
3025 * rendering/RenderSVGInlineText.cpp:
3026 (WebCore::RenderSVGInlineText::absoluteQuads):
3027 (WebCore::RenderSVGInlineText::computeAbsoluteRectForRange):
3028 * rendering/RenderSVGInlineText.h:
3029 * rendering/RenderSVGRoot.cpp:
3030 (WebCore::RenderSVGRoot::absoluteQuads):
3031 * rendering/RenderSVGRoot.h:
3032 * rendering/RenderSVGTSpan.cpp:
3033 (WebCore::RenderSVGTSpan::absoluteRects):
3034 (WebCore::RenderSVGTSpan::absoluteQuads):
3035 * rendering/RenderSVGTSpan.h:
3036 * rendering/RenderSVGText.cpp:
3037 (WebCore::RenderSVGText::absoluteRects):
3038 (WebCore::RenderSVGText::absoluteQuads):
3039 * rendering/RenderSVGText.h:
3040 * rendering/RenderSVGTextPath.cpp:
3041 (WebCore::RenderSVGTextPath::absoluteRects):
3042 (WebCore::RenderSVGTextPath::absoluteQuads):
3043 * rendering/RenderSVGTextPath.h:
3044 * rendering/RenderTableCell.cpp:
3045 (WebCore::RenderTableCell::localToAbsolute):
3046 (WebCore::RenderTableCell::localToAbsoluteQuad):
3047 * rendering/RenderTableCell.h:
3048 * rendering/RenderText.cpp:
3049 (WebCore::RenderText::absoluteQuads):
3050 (WebCore::RenderText::collectAbsoluteLineBoxQuads):
3051 * rendering/RenderText.h:
3052 * rendering/RenderView.cpp:
3053 (WebCore::RenderView::localToAbsoluteQuad):
3054 (WebCore::RenderView::absoluteQuads):
3055 * rendering/RenderView.h:
3056
aroben@apple.comdf25daf2008-11-12 21:54:52 +000030572008-11-12 Brent Fulgham <bfulgham@gmail.com>
3058
3059 Fix Bug 22178: Build errors in WebKit Cairo port
3060
3061 <https://bugs.webkit.org/show_bug.cgi?id=22178>
3062
3063 Reviewed by Mark Rowe.
3064
3065 * platform/graphics/cairo/PatternCairo.cpp: Correct build error under
3066 Visual Studio.
3067 (WebCore::Pattern::createPlatformPattern):
3068
aroben@apple.com1939f622008-11-12 21:49:51 +000030692008-11-12 Adam Roben <aroben@apple.com>
3070
3071 Fix a typo in the include path for the Release_Cairo configuration
3072
3073 * WebCore.vcproj/WebCore.vcproj: Fixed "caro" -> "cairo" typo.
3074
simon.fraser@apple.com71b2cc02008-11-12 20:22:28 +000030752008-11-12 Simon Fraser <simon.fraser@apple.com>
3076
3077 Reviewed by Dave Hyatt
3078
3079 https://bugs.webkit.org/show_bug.cgi?id=17840
simon.fraser@apple.coma9261be2008-11-12 20:28:44 +00003080 Patch 2
3081
3082 Code cleanup in RenderBox::computeAbsoluteRepaintRect().
3083
3084 * rendering/RenderBox.cpp:
3085 (WebCore::RenderBox::computeAbsoluteRepaintRect):
3086
30872008-11-12 Simon Fraser <simon.fraser@apple.com>
3088
3089 Reviewed by Dave Hyatt
3090
3091 https://bugs.webkit.org/show_bug.cgi?id=17840
simon.fraser@apple.com71b2cc02008-11-12 20:22:28 +00003092
3093 Fix repainting when the transform on a positioned element changes.
3094 In computeAbsoluteRepaintRect(), add the offsets due to relative positioning,
3095 and being in a positioned container after applying the transform to the local
3096 rect.
3097
3098 Tests: fast/repaint/transform-absolute-in-positioned-container.html
3099 fast/repaint/transform-relative-position.html
3100
3101 * rendering/RenderBox.cpp:
3102 (WebCore::RenderBox::computeAbsoluteRepaintRect):
3103
justin.garcia@apple.com7e95c7b2008-11-12 20:08:06 +000031042008-11-12 Justin Garcia <justin.garcia@apple.com>
3105
3106 Reviewed by Beth Dakin.
3107
3108 <rdar://problem/5495723> Selecting and deleting quoted text quotes other text
3109 <rdar://problem/4775313> Deleting lines from the bottom of a messages leaves the last blank line quoted
3110
3111 We don't want to merge into a block if it will mean changing the quote level of content after deleting
3112 selections that contain a whole number paragraphs plus a line break, since it is unclear to most users
3113 that such a selection actually ends at the start of the next paragraph. Instead we want to completely
3114 remove the selected paragraph(s) and all evidence of the first one's quote level. This matches TextEdit behavior
3115 for indented paragraphs.
3116
3117 * editing/DeleteSelectionCommand.cpp:
3118 (WebCore::DeleteSelectionCommand::initializePositionData): For the selections described above, do not
3119 try to merge after the deletion. Instead try and prune the start block or blocks if they've been emptied
3120 so that we remove evidence of the deleted paragraphs' quote level.
3121 (WebCore::DeleteSelectionCommand::mergeParagraphs): Try and prune the start block(s) if necessary. Also
3122 make sure that the caret is placed correctly so that it ends up on the same line that the deleted selection
3123 started on, instead of one higher.
3124 * editing/DeleteSelectionCommand.h:
3125 * editing/htmlediting.cpp:
3126 (WebCore::numEnclosingMailBlockquotes): Added.
3127 * editing/htmlediting.h:
3128
vestbo@webkit.org5c7d1b42008-11-12 10:44:55 +000031292008-11-10 Tor Arne Vestbø <tavestbo@trolltech.com>
3130
3131 Reviewed by Simon Hausmann.
3132
vestbo@webkit.orgb3e75172008-11-12 10:51:27 +00003133 Move _web_encodingForResource from WebKit into WebCore and change return type
3134
3135 This change is needed to implement NSAPI in WebCore for Mac, see:
3136
3137 https://bugs.webkit.org/show_bug.cgi?id=21427
3138
3139 * WebCore.base.exp:
3140 * platform/mac/WebCoreNSStringExtras.h:
3141 * platform/mac/WebCoreNSStringExtras.mm:
3142 (stringEncodingForResource):
3143
31442008-11-10 Tor Arne Vestbø <tavestbo@trolltech.com>
3145
3146 Reviewed by Simon Hausmann.
3147
vestbo@webkit.org5c7d1b42008-11-12 10:44:55 +00003148 Moved the implementation of _webkit_isCaseInsensitiveEqualToString to
3149 WebCore's WebCoreNSStringExtras as _stringIsCaseInsensitiveEqualToString.
3150
3151 This change is needed to implement NSAPI in WebCore for Mac, see:
3152
3153 https://bugs.webkit.org/show_bug.cgi?id=21427
3154
3155 * WebCore.base.exp:
3156 * platform/mac/WebCoreNSStringExtras.h:
3157 * platform/mac/WebCoreNSStringExtras.mm:
3158 (stringIsCaseInsensitiveEqualToString):
3159
slewis@apple.com417d6872008-11-12 03:30:12 +000031602008-11-11 Stephanie <slewis@apple.com>
3161
3162 Reviewed by Dan Bernstein.
3163
3164 Null check image data before setting it as image source.
3165
3166 Test: fast/images/image-empty-data.html
3167
3168 * platform/graphics/BitmapImage.cpp:
3169 (WebCore::BitmapImage::destroyDecodedData):
3170
adele@apple.com0deea562008-11-12 03:09:38 +000031712008-11-11 Adele Peterson <adele@apple.com>
3172
3173 Reviewed by Tim Hatcher.
3174
3175 Remove ifdef so future OS versions can use the new delegate method.
3176
3177 * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::didSendBodyDataDelegateExists):
3178
eric@webkit.org683713f2008-11-12 01:53:37 +000031792008-11-11 Eric Seidel <eric@webkit.org>
3180
3181 Reviewed by Antti Koivisto and Sam Weinig.
3182
3183 Clean up HTMLTokenizer a litle
3184 https://bugs.webkit.org/show_bug.cgi?id=22188
3185
3186 Rename pendingScripts to m_pendingScripts
3187 Rename scriptNode to m_scriptNode make the type specific
3188 Rename pendingSrc to m_pendingSrc
3189 Rename currentPrependingSrc to m_currentPrependingSrc
3190 Rename noMoreData to m_noMoreData and cBuffer to m_cBuffer
3191 Remove long-since-dead kdDebug and qDebug calls
3192 Rename brokenComments to m_brokenComments
3193 Remove HTMLTokenizer includes and document the rest
3194 Rename src to m_src
3195 Rename parser to m_parser and make it an OwnPtr
3196 Rename inWrite to m_inWrite and jsProxy to scriptController
3197 Rename brokenServer to m_brokenServer
3198 Rename buffer to m_buffer and dest to m_dest
3199 Rename size to m_bufferSize
3200 Rename attrName to m_attrName
3201 Rename searchStopper to m_searchStopper and searchStopperLen to m_searchStopperLen
3202 Rename scriptCode* to m_scriptCode* and change scriptCodeMax to m_scriptCodeCapacity
3203 Rename scriptStartLineno to m_currentScriptTagStartLineNumber and tagStartLineno to m_currentTagStartLineNumber
3204 Rename scriptSrc to m_scriptTagSrcAttrValue and scriptSrcCharset to m_scriptTagCharsetAttrValue -- a bit unwieldy, but more precise
3205 Rename flat to selfClosingTag
3206 Rename currToken to m_currentToken
3207
3208 * css/CSSParser.cpp:
3209 * dom/XMLTokenizer.cpp:
3210 * dom/XMLTokenizerLibxml2.cpp:
3211 * html/HTMLDocument.cpp:
3212 * html/HTMLElement.cpp:
3213 * html/HTMLFormControlElement.cpp:
3214 * html/HTMLParser.h:
3215 * html/HTMLTokenizer.cpp:
3216 (WebCore::Token::addAttribute):
3217 (WebCore::HTMLTokenizer::HTMLTokenizer):
3218 (WebCore::HTMLTokenizer::reset):
3219 (WebCore::HTMLTokenizer::begin):
3220 (WebCore::HTMLTokenizer::processListing):
3221 (WebCore::HTMLTokenizer::parseSpecial):
3222 (WebCore::HTMLTokenizer::scriptHandler):
3223 (WebCore::HTMLTokenizer::scriptExecution):
3224 (WebCore::HTMLTokenizer::parseComment):
3225 (WebCore::HTMLTokenizer::parseServer):
3226 (WebCore::HTMLTokenizer::parseProcessingInstruction):
3227 (WebCore::HTMLTokenizer::parseText):
3228 (WebCore::HTMLTokenizer::parseEntity):
3229 (WebCore::HTMLTokenizer::parseTag):
3230 (WebCore::HTMLTokenizer::write):
3231 (WebCore::HTMLTokenizer::processingData):
3232 (WebCore::HTMLTokenizer::end):
3233 (WebCore::HTMLTokenizer::finish):
3234 (WebCore::HTMLTokenizer::processToken):
3235 (WebCore::HTMLTokenizer::processDoctypeToken):
3236 (WebCore::HTMLTokenizer::~HTMLTokenizer):
3237 (WebCore::HTMLTokenizer::enlargeBuffer):
3238 (WebCore::HTMLTokenizer::enlargeScriptBuffer):
3239 (WebCore::HTMLTokenizer::notifyFinished):
3240 (WebCore::HTMLTokenizer::setSrc):
3241 * html/HTMLTokenizer.h:
3242 (WebCore::Token::Token):
3243 (WebCore::Token::reset):
3244 (WebCore::HTMLTokenizer::processingContentWrittenByScript):
3245 (WebCore::HTMLTokenizer::htmlParser):
3246 (WebCore::HTMLTokenizer::checkBuffer):
3247 (WebCore::HTMLTokenizer::checkScriptBuffer):
3248 * html/HTMLViewSourceDocument.h:
3249 * rendering/RenderBlock.cpp:
3250 (WebCore::RenderBlock::leftRelOffset):
3251 (WebCore::RenderBlock::rightRelOffset):
3252 (WebCore::RenderBlock::lineWidth):
3253 * xml/XSLTProcessor.cpp:
3254
weinig@apple.comc60b5af2008-11-12 00:28:57 +000032552008-11-11 Sam Weinig <sam@webkit.org>
3256
3257 Reviewed by Dan Bernstein.
3258
3259 Fix for https://bugs.webkit.org/show_bug.cgi?id=22189
3260 Track CachedScript decoded data
3261
3262 We now track the decoded size of CachedScripts in the Cache allowing
3263 them to accounted for when deciding when to evict data. The decoded
3264 data itself can be evicted when Cache pressure gets high enough through
3265 CachedScript::destroyDecodedData.
3266
3267 * loader/CachedResource.h:
3268 (WebCore::CachedResource::allClientsRemoved):
3269 (WebCore::CachedResource::destroyDecodedData):
3270 * loader/CachedScript.cpp:
3271 (WebCore::CachedScript::script):
3272 (WebCore::CachedScript::data):
3273 (WebCore::CachedScript::destroyDecodedData):
3274 * loader/CachedScript.h:
3275
cwzwarich@webkit.org74fd1332008-11-11 23:39:15 +000032762008-11-11 Cameron Zwarich <zwarich@apple.com>
3277
3278 Reviewed by Geoff Garen.
3279
3280 Remove pointless dependencies on the now-deleted kjs directory and
3281 mentions of it in comments that are no longer relevant.
3282
3283 * WebCore.pro:
3284 * webcore-base.bkl:
3285
mitz@apple.com44d57d42008-11-11 22:45:16 +000032862008-11-11 Dan Bernstein <mitz@apple.com>
3287
3288 Reviewed by Adam Roben.
3289
3290 WebCore part of adding a master volume control for media elements in a WebView
3291
3292 * WebCore.base.exp: Exported WebCore::Page::setMediaVolume().
3293 * dom/Document.cpp:
3294 (WebCore::Document::mediaVolumeDidChange): Added. Called by the Page
3295 when the media volume is changed.
3296 (WebCore::Document::registerForMediaVolumeCallbacks): Added. Allows
3297 elements to register for a callback when the media volume is changed.
3298 (WebCore::Document::unregisterForMediaVolumeCallbacks): Added. Allows
3299 elements to unregister for the callback.
3300 * dom/Document.h:
3301 * dom/Element.h:
3302 (WebCore::Element::mediaVolumeDidChange): Added an empty implementation.
3303 * html/HTMLMediaElement.cpp:
3304 (WebCore::HTMLMediaElement::HTMLMediaElement): Added a call to
3305 registerForMediaVolumeCallbacks().
3306 (WebCore::HTMLMediaElement::~HTMLMediaElement): Added a call to
3307 unregisterForMediaVolumeCallbacks().
3308 (WebCore::HTMLMediaElement::updateVolume): Changed to multiply the
3309 element's intrinsic volume by the master volume from the page.
3310 (WebCore::HTMLMediaElement::mediaVolumeDidChange): Added. Calls
3311 updateVolume().
3312 * html/HTMLMediaElement.h:
3313 * page/Page.cpp:
3314 (WebCore::Page::Page): Initialize m_mediaVolume to 1.
3315 (WebCore::Page::setMediaVolume): Added. Calls mediaVolumeDidChange() on
3316 every document in the page when the master volume changes.
3317 * page/Page.h:
3318 (WebCore::Page::mediaVolume): Added this getter.
3319
hyatt@apple.com312f7072008-11-11 20:43:57 +000033202008-11-11 David Hyatt <hyatt@apple.com>
3321
3322 https://bugs.webkit.org/show_bug.cgi?id=22182
3323
3324 Fix problems with scrollbars when the OS setting for clicks in the track jumping the thumb to that location
3325 is turned on. Make sure to only jump the thumb if the click happens in the track. Also fix some math
3326 errors when jumping the thumb that cause dragging after the jump to incorrectly jump the thumb again.
3327
3328 Reviewed by Adele
3329
3330 * platform/Scrollbar.cpp:
3331 (WebCore::Scrollbar::mouseDown):
3332
bdakin@apple.comc636ec32008-11-11 19:58:31 +000033332008-11-11 Beth Dakin <bdakin@apple.com>
3334
3335 Reviewed by Darin Adler.
3336
3337 Fix for <rdar://problem/5089327> Too much indentation when pasting
3338 quoted paragraphs
3339
3340 This patch re-addresses pasting blockquotes into blockquotes. It
3341 backs out most of revision 38273. 38273 fixed the bug by inserting
3342 the pasted content as a sibling blockquote node to the pre-existing
3343 blockquote node. The problem with that is that by default,
3344 blockquotes have a giant margin, so visually, this can be weird.
3345 This patch instead inserts the pasted content as siblings of the
3346 the content already inside the outer blockquote, and then removes
3347 the blockquote node from the pasted content itself, so that it
3348 doesn't nest itself into the outer blockquote.
3349 * editing/ReplaceSelectionCommand.cpp:
3350 (WebCore::ReplaceSelectionCommand::doApply):
3351
3352 Move contains() from Element to Node since there is nothing
3353 Element-specific about it.
3354 * dom/Element.cpp:
3355 * dom/Element.h:
3356 * dom/Node.cpp:
3357 (WebCore::Node::contains):
3358 * dom/Node.h:
3359
hyatt@apple.com4d742b72008-11-11 19:50:18 +000033602008-11-11 David Hyatt <hyatt@apple.com>
3361
3362 https://bugs.webkit.org/show_bug.cgi?id=17997
3363
3364 Stop using the new Leopard API tiling call for scaled tiles when drawing background images. The method
3365 is buggy. Fall back to using the slower (and more correct) pattern tiling that Tiger still uses. This
3366 is a Leopard-only workaround, since the API has been fixed on Snow Leopard.
3367
3368 Reviewed by John Sullivan
3369
3370 * platform/graphics/cg/ImageCG.cpp:
3371 (WebCore::Image::drawPattern):
3372
hyatt@apple.com16a00b92008-11-11 19:18:26 +000033732008-11-10 David Hyatt <hyatt@apple.com>
3374
3375 Disable the Aqua look for menu lists when full page zoom is turned on. Because the control is buggy
3376 when scaling and because it's impossible to paint into an offscreen bitmap without completely rewriting
3377 how we draw the control on Mac, our only real option for now is to just switch to our styled look when zoomed.
3378
3379 Reviewed by Adam Roben
3380
3381 * rendering/RenderThemeMac.mm:
3382 (WebCore::RenderThemeMac::isControlStyled):
3383
darin@apple.com160b6112008-11-11 17:59:01 +000033842008-11-11 Darin Adler <darin@apple.com>
3385
3386 Reviewed by Dan Bernstein.
3387
3388 - https://bugs.webkit.org/show_bug.cgi?id=22160
3389 speculative fix for <rdar://problem/5995450> Nil deref because nextLinePosition
3390 (previousLinePosition, too) uses a nil node
3391
3392 * editing/visible_units.cpp:
3393 (WebCore::nextLinePosition): Use RenderObject::node instead of RenderObject::element
3394 to check editingIgnoresContent. It makes sense to use the associated DOM node for
3395 this, even in cases of anonymous content, and it avoids the case where element() can
3396 be 0.
3397 (WebCore::previousLinePosition): Ditto.
3398
krit@webkit.org02511ad2008-11-11 17:40:54 +000033992008-11-11 Dirk Schulze <vbs85@gmx.de>
3400
3401 Reviewed by Darin Adler.
3402
3403 Removed default: in applySpreadMethod. This causes the problems
3404 in radial gradients. We don't need CAIRO_EXTEND_NONE in SVG, Canvas
3405 or CSS.
3406
3407 * platform/graphics/cairo/GraphicsContextCairo.cpp:
3408 (WebCore::applySpreadMethod):
3409
vestbo@webkit.orgc0e688b2008-11-11 13:32:01 +000034102008-11-11 Ariya Hidayat <ariya.hidayat@trolltech.com>
3411
3412 Reviewed by Tor Arne Vestbø.
3413
3414 Fix crash when rendering the file chooser.
3415 Also proper implementation for multi-selected files.
3416
3417 * platform/qt/FileChooserQt.cpp:
3418 (WebCore::FileChooser::basenameForWidth):
3419
krit@webkit.orgbf7eb1c2008-11-11 11:05:49 +000034202008-11-11 Dirk Schulze <vbs85@gmx.de>
3421
3422 Reviewed by Oliver Hunt.
3423
3424 PatternCairo needs to invert the pattern matrix because
3425 of transformation from user space to pattern space.
3426 Give a identity matrix to pattern for Qt and Cairo. Because the
3427 context is transformed already.
3428
3429 [CAIRO][QT] Canvas transformations applied twice to Patterns
3430 https://bugs.webkit.org/show_bug.cgi?id=21555
3431
3432 * platform/graphics/cairo/GraphicsContextCairo.cpp:
3433 (WebCore::GraphicsContext::fillPath):
3434 (WebCore::GraphicsContext::strokePath):
3435 * platform/graphics/cairo/PatternCairo.cpp:
3436 (WebCore::Pattern::createPlatformPattern):
3437 * platform/graphics/qt/GraphicsContextQt.cpp:
3438 (WebCore::GraphicsContext::strokePath):
3439 (WebCore::GraphicsContext::fillRect):
3440
slewis@apple.com2583a3f2008-11-11 07:06:41 +000034412008-11-10 Stephanie Lewis <slewis@apple.com>
3442
3443 Reviewed by Dan Bernstein.
3444
3445 Clear the image source cache even if we haven't decoded any of the image data.
3446 We use the image source cache when calculating layout.
3447
3448 * loader/Cache.cpp:
3449 (WebCore::Cache::pruneDeadResources):
3450 * platform/graphics/BitmapImage.cpp:
3451 (WebCore::BitmapImage::destroyDecodedData):
3452
aroben@apple.com4488a6a2008-11-10 22:12:57 +000034532008-11-10 Adam Roben <aroben@apple.com>
3454
3455 Fix Bug 22161: Assertion failure in RenderThemeWin::systemColor when
3456 loading microsoftpdc.com
3457
3458 <https://bugs.webkit.org/show_bug.cgi?id=22161>
3459
3460 Reviewed by Dan Bernstein.
3461
3462 Test: fast/css/outline-invert-assertion.html
3463
3464 * rendering/RenderThemeWin.cpp:
3465 (WebCore::RenderThemeWin::systemColor): If we can't determine a good
3466 Win32 system color to use, defer to RenderTheme instead of asserting.
3467 This matches what RenderThemeMac does.
3468
bdakin@apple.com6eb86992008-11-10 21:51:22 +000034692008-11-10 Justin Garcia <justin.garcia@apple.com>
3470
3471 Reviewed by Beth Dakin.
3472
3473 <rdar://problem/4037481> REGRESSION (Mail): pasting quoted text
3474 into quoted text yields double-quoting
3475
3476 Don't nest inserted content in Mail blockquotes. Perform a
3477 BreakBlockquoteCommand if we're in
3478 one and insert the incoming fragment between the split blockquotes.
3479
3480 * editing/ReplaceSelectionCommand.cpp:
3481 (WebCore::ReplaceSelectionCommand::shouldMerge): Renamed from ->
3482 source and to -> destination.
3483 (WebCore::ReplaceSelectionCommand::doApply):
3484
aroben@apple.com1c0d03e2008-11-10 18:38:56 +000034852008-11-10 Adam Roben <aroben@apple.com>
3486
3487 Fix Bug 22158: Would like to turn on WebCore logging channels via an
3488 environment variable
3489
3490 <https://bugs.webkit.org/show_bug.cgi?id=22158>
3491
3492 Logging channels can now be enabled by setting the WebCoreLogLevel
3493 environment variable to a hexadecimal number.
3494
3495 Reviewed by Anders Carlsson.
3496
3497 * WebCore.vcproj/WebCore.vcproj: Added LoggingWin.cpp.
3498 * platform/win/LoggingWin.cpp: Copied from WebCore/platform/mac/LoggingMac.mm.
3499 (WebCore::initializeWithUserDefault): Read in the WebCoreLogLevel
3500 environment variable, parse its value as a hexadecimal number, and
3501 turn the channel on/off based on whether the mask bit is set.
3502 (WebCore::InitializeLoggingChannelsIfNecessary): Initialize each
3503 logging channel in turn.
3504
darin@apple.comd46ba6d2008-11-10 17:03:36 +000035052008-11-10 Darin Adler <darin@apple.com>
3506
3507 Reviewed by Adam Roben.
3508
darin@apple.com8bf1fe02008-11-10 17:06:04 +00003509 - fix https://bugs.webkit.org/show_bug.cgi?id=22103
3510 Changing fonts in preferences does not immediately update WebViews
3511
3512 This broke when the meaning of FrameView::invalidate changed.
3513 I changed setNeedsReapplyStyles to no longer depend on invalidate.
3514
3515 * dom/Document.cpp: (WebCore::Document::shouldScheduleLayout):
3516 Removed the part of this function that duplicated what's already in
3517 FrameView::needsLayout, since the copy here left out a few key things.
3518 For example, it didn't handle the fact that "needs reapply styles"
3519 counts as needing layout.
3520
3521 * page/Frame.cpp: (WebCore::Frame::setNeedsReapplyStyles): This called
3522 FrameView::invalidate before. There were two things wrong with that.
3523 1) It requested that the entire view repaint even if the style change
3524 didn't necessitate that. 2) FrameView::invalidate no longer causes any
3525 repainting at all in certain cases, because of Hyatt's changes to how
3526 widgets and the host window are involved in the repainting process.
3527 So call FrameView::scheduleRelayout instead, which is more precisely
3528 what we want and need here.
3529
3530 * page/FrameView.cpp:
3531 (WebCore::FrameView::scheduleRelayout): Add a call to needsLayout here
3532 so that Document::shouldScheduleLayout doesn't have to replicate the
3533 logic that's in needsLayout and can instead rely on the fact that it
3534 was already called.
3535 (WebCore::FrameView::needsLayout): Tweaked the comments and formatting
3536 in this function.
3537
35382008-11-10 Darin Adler <darin@apple.com>
3539
3540 Reviewed by Adam Roben.
3541
darin@apple.comd46ba6d2008-11-10 17:03:36 +00003542 - speculative fix for <rdar://problem/5557243> crashes in Safari at
3543 WebCore::HTMLSelectElement::updateListBoxSelection + 280
3544
3545 * html/HTMLSelectElement.cpp:
3546 (WebCore::HTMLSelectElement::updateListBoxSelection):
3547 Check index against size of vector before indexing into the vector.
3548
hausmann@webkit.org55cf27a32008-11-10 11:45:48 +000035492008-11-10 Tom Cooksey <thomas.cooksey@trolltech.com>
3550
3551 Reviewed by Tor Arne Vestbø.
3552
3553 Fix QtWebkit build failure on arm.
3554
3555 pen.widthF() is a qreal, which means it's a float on arm.
3556
3557 * platform/graphics/qt/GraphicsContextQt.cpp:
3558 (WebCore::GraphicsContext::setLineDash):
3559
hausmann@webkit.orge6d9d172008-11-10 11:45:21 +000035602008-11-10 Morten Sørvig <msorvig@trolltech.com>
3561
3562 Reviewed by Simon Hausmann.
3563
3564 Improve mouse wheel scolling on Qt/Cocoa.
3565 Cocoa differs from Carbon (and other platforms I think) in that the
3566 mouse wheel events we get have a much higher acceleration factor.
3567
3568 This submit switches over to scroll-per-pixel from scroll-per-line
3569 for most of our scrolling views. This matches the native views
3570 and works well with the increased acceleration.
3571
3572 * platform/qt/WheelEventQt.cpp:
3573
cwzwarich@webkit.org40b4b842008-11-10 01:19:13 +000035742008-11-09 Cameron Zwarich <zwarich@apple.com>
3575
3576 Reviewed by Darin Adler.
3577
3578 Bug 19541: Null pointer in showModalDialog()
3579 <https://bugs.webkit.org/show_bug.cgi?id=19541>
3580
3581 Add null frame->page() checks to JSDOMWindowBase::canShowModalDialog()
3582 and JSDOMWindowBase::canShowModalDialogNow()C
3583
3584 * bindings/js/JSDOMWindowBase.cpp:
3585 (WebCore::canShowModalDialog):
3586 (WebCore::canShowModalDialogNow):
3587
darin@apple.com4086a5b2008-11-10 00:22:18 +000035882008-11-09 Darin Adler <darin@apple.com>
3589
3590 - try to fix Windows build
3591
3592 * platform/graphics/Color.cpp: For some reason MSVC doesn't follow the rules
3593 about needed a separate definition for static const integer data members.
3594 Until I get to the bottom of this, put the definitions inside an ifdef.
3595
ddkilzer@apple.com8d878632008-11-09 19:50:37 +000035962008-11-09 David Kilzer <ddkilzer@apple.com>
3597
3598 BUILD FIX: Qt build broke after r38235.
3599
3600 Added HAVE(ACCESSIBILITY) header guards to platform implementation
3601 source files.
3602
3603 * page/gtk/AccessibilityObjectAtk.cpp: Added HAVE(ACCESSIBILITY)
3604 guards.
3605 * page/gtk/AccessibilityObjectWrapperAtk.cpp: Ditto.
3606 * page/qt/AccessibilityObjectQt.cpp: Ditto.
3607 * page/win/AccessibilityObjectWin.cpp: Ditto.
3608 * page/wx/AccessibilityObjectWx.cpp: Ditto.
3609
ap@webkit.org4f28dd52008-11-09 19:08:07 +000036102008-11-09 Alexey Proskuryakov <ap@webkit.org>
3611
3612 Reviewed by Darin Adler.
3613
3614 https://bugs.webkit.org/show_bug.cgi?id=22104
3615 Javascript URL percent encoding/decoding broken by some characters
3616
3617 Test: fast/loader/javascript-url-encoding-2.html
3618
3619 * platform/KURL.cpp: (WebCore::encodeRelativeString): Don't try to break down javascript URLs.
3620
darin@apple.comaa0c0fd2008-11-09 18:20:53 +000036212008-11-09 Holger Hans Peter Freyther <zecke@selfish.org>
3622
3623 Reviewed and tweaked by Darin Adler.
3624
3625 * platform/graphics/Color.cpp: Added definitions for the static data members
3626 in this class. Static data members need a definition, even when they are the
3627 simple integer constant kind that can be initialized in the header.
3628
antti@apple.com58f7c692008-11-09 04:11:26 +000036292008-11-08 Antti Koivisto <antti@apple.com>
3630
3631 Reviewed by Sam Weinig.
3632
3633 Fix https://bugs.webkit.org/show_bug.cgi?id=22141
3634 REGRESSION: Safari error page is not fully styled when loaded from cache
3635
3636 Reset text decoder on flush so it does not pass through the BOM when it is reused.
3637
3638 Test: fast/encoding/css-cached-bom.html
3639
3640 * loader/TextResourceDecoder.cpp:
3641 (WebCore::TextResourceDecoder::flush):
3642
kevino@webkit.orgdbcd4ad2008-11-09 02:35:45 +000036432008-11-08 Kevin Ollivier <kevino@theolliviers.com>
kevino@webkit.org2cba33b2008-11-09 03:14:07 +00003644
3645 Reviewed by Mark Rowe.
3646
3647 Send URL errors to stderr rather than stdout. While debugging wx DumpRenderTree,
3648 it was causing these errors to end up in the page's text representation.
3649
3650 * platform/network/curl/ResourceHandleManager.cpp:
3651 (WebCore::ResourceHandleManager::downloadTimerCallback):
3652
36532008-11-08 Kevin Ollivier <kevino@theolliviers.com>
kevino@webkit.orgdbcd4ad2008-11-09 02:35:45 +00003654
3655 wx build fixes after addition of JSCore parser and bycompiler dirs.
3656
3657 * webcore-base.bkl:
3658 * webcore-wx.bkl:
3659
simon.fraser@apple.com1839efc2008-11-09 01:09:14 +000036602008-11-08 Simon Fraser <simon.fraser@apple.com>
3661
3662 Reviewed by Dan Bernstein
3663
3664 https://bugs.webkit.org/show_bug.cgi?id=21906
3665
3666 Override addFocusRingRects() in RenderTextControl to avoid
3667 the RenderFlow behavior of recursing on descendent renderers.
3668 RenderTextControl should only ever need a simple focus rect.
3669
3670 This fixes focus ring issues with transforms on text controls.
3671
3672 Test: fast/transforms/transformed-focused-text-input.html
3673
3674 * rendering/RenderTextControl.cpp:
3675 (WebCore::RenderTextControl::addFocusRingRects):
3676 * rendering/RenderTextControl.h:
3677
timothy@apple.comcded56b2008-11-09 00:33:06 +000036782008-11-08 Dimitri Dupuis-Latour <dupuislatour@apple.com>
3679
3680 Make sure the icon thumbnail width/height is at least 1px in
3681 the Web Inspector's resource panel.
3682
3683 <rdar://problem/5988888>
3684
3685 Reviewed by Tim Hatcher.
3686
3687 * inspector/front-end/inspector.css:
3688
ddkilzer@apple.come17e0dc2008-11-08 19:42:33 +000036892008-11-08 David Kilzer <ddkilzer@apple.com>
3690
3691 Bug 22137: PLATFORM(MAC) build broken with HAVE(ACCESSIBILITY) disabled
3692
3693 <https://bugs.webkit.org/show_bug.cgi?id=22137>
3694
3695 Reviewed by Darin Adler.
3696
3697 * page/AccessibilityObject.h:
3698 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
3699 Provide a default implementation when HAVE(ACCESSIBILITY) is false.
3700 * page/mac/AXObjectCacheMac.mm: Added HAVE(ACCESSIBILITY) guard.
3701 * page/mac/AccessibilityObjectMac.mm: Ditto.
3702 * page/mac/AccessibilityObjectWrapper.mm: Ditto.
3703
mitz@apple.comc278ea22008-11-08 19:12:23 +000037042008-11-08 Dan Bernstein <mitz@apple.com>
3705
3706 Reviewed by Darin Adler.
3707
3708 - WebCore part of adding WebPreferences for controlling databases and local storage
3709
3710 * WebCore.base.exp: Exported Settings::setDatabasesEnabled() and
3711 Settings::setLocalStorageEnabled().
3712 * page/DOMWindow.cpp:
3713 (WebCore::DOMWindow::localStorage): Changed to return 0 if local storage
3714 is disabled in settings.
3715 (WebCore::DOMWindow::openDatabase): Changed to return 0 if databases
3716 are disabled in settings.
3717 * page/Settings.cpp:
3718 (WebCore::Settings::Settings): Initialize m_databasesEnabled and
3719 m_localStorageEnabled.
3720 (WebCore::Settings::setDatabasesEnabled): Added.
3721 (WebCore::Settings::setLocalStorageEnabled): Added.
3722 * page/Settings.h:
3723 (WebCore::Settings::databasesEnabled): Added.
3724 (WebCore::Settings::localStorageEnabled): Added.
3725
alp@webkit.org27e52902008-11-07 22:29:56 +000037262008-11-07 Alp Toker <alp@nuanti.com>
3727
3728 Fix build with bleeding edge GTK+ versions. GTK+ and other libraries
3729 now require that only their top-level header file is included.
3730
3731 Patch tested and still builds fine with older GTK+ versions (back to
3732 2.8).
3733
3734 Future WebKit GTK+ contributions are required to adhere to this
3735 policy.
3736
3737 * platform/gtk/FileSystemGtk.cpp:
3738 * platform/gtk/KeyEventGtk.cpp:
3739 * platform/gtk/MouseEventGtk.cpp:
3740 * platform/gtk/WheelEventGtk.cpp:
3741 * platform/gtk/gtkdrawing.h:
3742 * plugins/gtk/gtk2xtbin.c:
3743 * plugins/gtk/gtk2xtbin.h:
3744
andersca@apple.comafcd77f2008-11-07 21:34:02 +000037452008-11-07 Anders Carlsson <andersca@apple.com>
3746
3747 Reviewed by Kevin Decker
3748
3749 Explicitly initialize the NPDrawingModelCoreAnimation.
3750
3751 * bridge/npapi.h:
3752
alp@webkit.org96f2d622008-11-07 19:35:47 +000037532008-11-07 Alp Toker <alp@nuanti.com>
3754
3755 autotools fix. Always use the configured perl binary (which may be
3756 different to the one in $PATH) when generating sources.
3757
3758 * GNUmakefile.am:
3759
simon.fraser@apple.comfeaef2e2008-11-07 19:17:08 +000037602008-11-07 Simon Fraser <simon.fraser@apple.com>
3761
3762 Reviewed by Dan Bernstein
3763
3764 https://bugs.webkit.org/show_bug.cgi?id=22122
3765
3766 Use a stack-based object to simplify the pushLayoutState/popLayoutState
3767 code. LayoutStateMaintainer either pushes in the constructor, or allows
3768 an explicit push() later. Both cases require an explicit pop().
3769
3770 * rendering/RenderBlock.cpp:
3771 (WebCore::RenderBlock::layoutBlock):
3772 (WebCore::RenderBlock::layoutOnlyPositionedObjects):
3773 * rendering/RenderContainer.cpp:
3774 (WebCore::RenderContainer::layout):
3775 * rendering/RenderFlexibleBox.cpp:
3776 (WebCore::RenderFlexibleBox::layoutBlock):
3777 * rendering/RenderTable.cpp:
3778 (WebCore::RenderTable::layout):
3779 * rendering/RenderTableRow.cpp:
3780 (WebCore::RenderTableRow::layout):
3781 * rendering/RenderTableSection.cpp:
3782 (WebCore::RenderTableSection::setCellWidths):
3783 (WebCore::RenderTableSection::calcRowHeight):
3784 (WebCore::RenderTableSection::layoutRows):
3785 * rendering/RenderView.h:
3786 (WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
3787 (WebCore::LayoutStateMaintainer::~LayoutStateMaintainer):
3788 (WebCore::LayoutStateMaintainer::pop):
3789 (WebCore::LayoutStateMaintainer::push):
3790 (WebCore::LayoutStateMaintainer::didPush):
3791
vestbo@webkit.orgf579de02008-11-07 15:01:55 +000037922008-11-07 Tor Arne Vestbø <tavestbo@trolltech.com>
3793
vestbo@webkit.org58027742008-11-07 15:39:56 +00003794 Fix the QtWebKit build on Mac
3795
3796 * platform/qt/TemporaryLinkStubs.cpp:
3797 (PluginView::invalidateRect):
3798
37992008-11-07 Tor Arne Vestbø <tavestbo@trolltech.com>
3800
vestbo@webkit.orgf579de02008-11-07 15:01:55 +00003801 Rubber-stamped by Simon Hausmann.
3802
3803 Don't allow Phonon's invisible video widget to keep the app running
3804
3805 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
3806 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
3807
hausmann@webkit.org58f04f52008-11-07 11:32:04 +000038082008-11-07 Henrik Hartz <henrik.hartz@nokia.com>
3809
3810 Reviewed by Simon Hausmann.
3811
3812 Fix valgrind warning about uninitialized lastStop variable.
3813
3814 * platform/graphics/qt/GradientQt.cpp:
3815 (WebCore::Gradient::platformGradient):
3816
ap@webkit.org1faed012008-11-07 09:22:36 +000038172008-11-07 Alexey Proskuryakov <ap@webkit.org>
3818
3819 Reviewed by Maciej Stachowiak.
3820
3821 Fix layout test brokenness following r38211.
3822
3823 * page/EventHandler.cpp: (WebCore::EventHandler::handleAccessKey):
3824 Restore old Shift key behavior. We ignore Shift key state when matching access keys (which
3825 matches neither IE nor Firefox), and this patch made WebKit behave like Firefox
3826 inadvertently. This may or may not be a good thing, but it's certainly not something that
3827 should change by accident.
3828
antti@apple.comda9077d2008-11-07 07:22:43 +000038292008-11-06 Antti Koivisto <antti@apple.com>
3830
antti@apple.comafa13dc2008-11-07 07:26:09 +00003831 Eh, this trivial last minute change was wrong.
3832
3833 * loader/CachedCSSStyleSheet.cpp:
3834 (WebCore::CachedCSSStyleSheet::sheetText):
3835
38362008-11-06 Antti Koivisto <antti@apple.com>
3837
antti@apple.comda9077d2008-11-07 07:22:43 +00003838 Reviewed by Dan Bernstein.
3839
3840 https://bugs.webkit.org/show_bug.cgi?id=22093
3841
3842 Delaying the text decoding caused regression since the decoding
3843 also determines the encoding in case of @charset rule.
3844
3845 Decode immediately in data() and keep the decoded string around
3846 during the checkNotify().
3847
3848 * loader/CachedCSSStyleSheet.cpp:
3849 (WebCore::CachedCSSStyleSheet::sheetText):
3850 (WebCore::CachedCSSStyleSheet::data):
3851 * loader/CachedCSSStyleSheet.h:
3852
ap@webkit.orgd9634612008-11-07 05:52:46 +000038532008-11-06 Alexey Proskuryakov <ap@webkit.org>
3854
3855 Reviewed by Darin Adler.
3856
ap@webkit.org6169aa22008-11-07 05:54:49 +00003857 https://bugs.webkit.org/show_bug.cgi?id=22097
3858 Expose MessageEvent constructor on WorkerContext
3859
3860 * bindings/js/JSWorkerContext.cpp:
3861 (WebCore::jsWorkerContextMessageEvent):
3862 (WebCore::setJSWorkerContextMessageEvent):
3863
38642008-11-06 Alexey Proskuryakov <ap@webkit.org>
3865
3866 Reviewed by Darin Adler.
3867
ap@webkit.orgd9634612008-11-07 05:52:46 +00003868 https://bugs.webkit.org/show_bug.cgi?id=21107
3869 <rdar://problem/6264219> New access key combination conflicts with VoiceOver
3870
3871 * page/EventHandler.h:
3872 * page/gtk/EventHandlerGtk.cpp:
3873 (WebCore::EventHandler::accessKeyModifiers):
3874 * page/qt/EventHandlerQt.cpp:
3875 (WebCore::EventHandler::accessKeyModifiers):
3876 * page/win/EventHandlerWin.cpp:
3877 (WebCore::EventHandler::accessKeyModifiers):
3878 * page/wx/EventHandlerWx.cpp:
3879 (WebCore::EventHandler::accessKeyModifiers):
3880 Access access key modifiers via a function, not a static variable.
3881
3882 * page/mac/EventHandlerMac.mm: (WebCore::EventHandler::accessKeyModifiers):
3883 Use Ctrl when VoiceOver is enabled, because a conflict with Emacs-style key bindings is
3884 less troublesome than one with VO keys.
3885
3886 * page/EventHandler.cpp: (WebCore::EventHandler::handleAccessKey):
3887 Also fix an access key matching bug introduced in r32424 - Any superset of specified
3888 modifier set invoked access keys. We can use simple equality comparison instead because
3889 CapsLock is not part of modifiers(), so it doesn't need to be ignored explicitly.
3890
andersca@apple.com1f7f4ee2008-11-07 04:04:52 +000038912008-11-06 Anders Carlsson <andersca@apple.com>
3892
3893 Reviewed by Kevin Decker.
3894
3895 https://bugs.webkit.org/show_bug.cgi?id=22115
3896 NPN_HasPropertyUPP and NPN_HasMethodUPP entries in NPNetscapeFuncs are NULL
3897
3898 Export _NPN_HasMethod and _NPN_HasProperty.
3899
3900 * WebCore.NPAPI.exp:
3901
simon.fraser@apple.coma80e3172008-11-07 01:11:13 +000039022008-11-06 Simon Fraser <simon.fraser@apple.com>
3903
3904 Reviewed by Antti Koivisto
3905
3906 https://bugs.webkit.org/show_bug.cgi?id=15678
3907
3908 Fix transformed menu selects to show the popup in the correct
3909 location.
3910
3911 * rendering/RenderMenuList.cpp:
3912 (WebCore::RenderMenuList::showPopup):
3913
ddkilzer@apple.com58912bd2008-11-07 00:55:52 +000039142008-11-06 David Kilzer <ddkilzer@apple.com>
3915
3916 BUILD FIX: Backed out r38189 (and r38203) for Xcode 3.0.
3917
3918 Apparently older versions of gcc have issues with this patch.
3919 Backing out a second time until the issues are resolved.
3920
jchaffraix@webkit.org95833722008-11-07 00:47:12 +000039212008-11-06 Julien Chaffraix <jchaffraix@pleyo.com>
3922
3923 Reviewed by Maciej Stachowiak.
3924
3925 Bug 21106: .in format discussed changes
3926 https://bugs.webkit.org/show_bug.cgi?id=21106
3927
3928 Include the namespace into the interfaceName.
3929
3930 * dom/make_names.pl: Do not append the namespace when
3931 using the interfaceName.
3932 * html/HTMLTagNames.in: Added namespace prefix for custom
3933 interfaceName.
3934 * svg/svgtags.in: Ditto.
3935
cwzwarich@webkit.org3ff0e6a2008-11-07 00:18:07 +000039362008-11-06 Cameron Zwarich <zwarich@apple.com>
3937
3938 Reviewed by Geoff Garen.
3939
3940 Move the remaining files in the kjs subdirectory of JavaScriptCore to
3941 a new parser subdirectory, and remove the kjs subdirectory entirely.
3942
3943 * ForwardingHeaders/kjs: Removed.
3944 * ForwardingHeaders/kjs/Parser.h: Removed.
3945 * ForwardingHeaders/kjs/SavedBuiltins.h: Removed.
3946 * ForwardingHeaders/kjs/SourceCode.h: Removed.
3947 * ForwardingHeaders/kjs/SourceProvider.h: Removed.
3948 * ForwardingHeaders/parser: Added.
3949 * ForwardingHeaders/parser/Parser.h: Copied from ForwardingHeaders/kjs/Parser.h.
3950 * ForwardingHeaders/parser/SourceCode.h: Copied from ForwardingHeaders/kjs/SourceCode.h.
3951 * ForwardingHeaders/parser/SourceProvider.h: Copied from ForwardingHeaders/kjs/SourceProvider.h.
3952 * WebCore.pro:
3953 * WebCore.vcproj/WebCore.vcproj:
3954 * bindings/js/StringSourceProvider.h:
3955 * bindings/js/WorkerScriptController.cpp:
3956 * bridge/NP_jsobject.cpp:
3957 * bridge/jni/jni_jsobject.mm:
3958 * bridge/testbindings.pro:
3959 * inspector/JavaScriptDebugServer.cpp:
3960
ddkilzer@apple.com3df06c52008-11-06 23:10:10 +000039612008-11-06 David Kilzer <ddkilzer@apple.com>
3962
ddkilzer@apple.coma8062f52008-11-06 23:46:40 +00003963 BUILD WAS NOT BROKEN: Rolling r38189 back in.
3964
3965 Please perform a clean build if you see crashes.
3966
39672008-11-06 David Kilzer <ddkilzer@apple.com>
3968
ddkilzer@apple.com3df06c52008-11-06 23:10:10 +00003969 BUILD FIX: Backed out r38189 since it apparently broke the world.
3970
cfleizach@apple.com5b7e9982008-11-06 22:16:27 +000039712008-11-06 Chris Fleizach <cfleizach@apple.com>
3972
3973 Reviewed by Beth Dakin.
3974
3975 Bug 22112: if a <body> has contenteditable=true, it should report a writable AXValue
3976 https://bugs.webkit.org/show_bug.cgi?id=22112
3977
3978 Test: accessibility/content-editable.html
3979
3980 * page/AccessibilityRenderObject.cpp:
3981 (WebCore::AccessibilityRenderObject::isReadOnly):
3982
weinig@apple.com5955ba22008-11-06 21:55:29 +000039832008-11-06 Sam Weinig <sam@webkit.org>
3984
3985 Reviewed by Alice Liu.
3986
3987 Fix failed assert at launch caused by unintialized data member on the mac.
3988
3989 * platform/network/mac/NetworkStateNotifierMac.cpp:
3990 (WebCore::NetworkStateNotifier::NetworkStateNotifier):
3991
sfalken@apple.com2c786e02008-11-06 21:47:58 +000039922008-11-06 Steve Falkenburg <sfalken@apple.com>
3993
3994 Fix failed assert at launch caused by unintialized data member.
3995
3996 Reviewed by Maciej Stachowiak.
3997
3998 * platform/network/win/NetworkStateNotifierWin.cpp:
3999 (WebCore::NetworkStateNotifier::NetworkStateNotifier):
4000
simon.fraser@apple.com52b2c502008-11-06 20:55:31 +000040012008-11-06 Simon Fraser <simon.fraser@apple.com>
4002
4003 Reviewed by Antti Koivisto
4004
4005 https://bugs.webkit.org/show_bug.cgi?id=22109
4006 Make <input type="range"> work correctly with transforms
4007
4008 Test: fast/forms/slider-transformed.html
4009
4010 * html/HTMLInputElement.cpp:
4011 (WebCore::HTMLInputElement::defaultEventHandler):
4012 Compute a correct local point when the event is retargeted
4013 * rendering/RenderSlider.cpp:
4014 (WebCore::HTMLSliderThumbElement::defaultEventHandler):
4015 Compute m_initialClickPoint in slider-local coords, so that
4016 deltas are computed correctly with transforms
4017 (WebCore::RenderSlider::mouseEventIsInThumb):
4018 Rather than computing an absolute bounds for the thumb,
4019 convert the point to local coords and compare it with the border box.
4020
ddkilzer@apple.com6f3816c2008-11-06 19:28:45 +000040212008-11-06 Greg Bolsinga <bolsinga@apple.com>
4022
4023 Reviewed by Darin Adler.
4024
4025 Bug 21810: Remove use of static C++ objects that are destroyed at exit time (destructors)
4026 https://bugs.webkit.org/show_bug.cgi?id=21810
4027
4028 * bindings/js/GCController.cpp:
4029 (WebCore::gcController): Changed to leak an object to avoid an exit-time destructor.
4030 * bindings/js/JSDOMBinding.cpp:
4031 (WebCore::wrapperSet): Ditto
4032 * bindings/js/JSInspectedObjectWrapper.cpp:
4033 (WebCore::wrappers): Ditto
4034 * bindings/js/JSInspectorCallbackWrapper.cpp:
4035 (WebCore::wrappers): Ditto
4036 * bridge/runtime_root.cpp:
4037 (JSC::Bindings::rootObjectSet): Ditto
4038 * css/CSSMutableStyleDeclaration.cpp:
4039 (WebCore::CSSMutableStyleDeclaration::removeProperty): Ditto
4040 * css/CSSPrimitiveValue.cpp:
4041 (WebCore::CSSPrimitiveValue::cssText): Ditto
4042 * css/CSSSelector.cpp:
4043 (WebCore::CSSSelector::extractPseudoType): Ditto
4044 * css/CSSStyleSelector.cpp:
4045 (WebCore::screenEval): Ditto
4046 (WebCore::printEval): Ditto
4047 * dom/DOMImplementation.cpp:
4048 (WebCore::isSVG10Feature): Ditto
4049 (WebCore::isSVG11Feature): Ditto
4050 (WebCore::DOMImplementation::isXMLMIMEType): Ditto
4051 * dom/Document.cpp:
4052 (WebCore::Document::hasPrefixNamespaceMismatch): Ditto
4053 * dom/ScriptElement.cpp:
4054 (WebCore::isSupportedJavaScriptLanguage): Ditto
4055 * editing/ApplyStyleCommand.cpp:
4056 (WebCore::styleSpanClassString): Ditto
4057 * editing/HTMLInterchange.cpp:
4058 (WebCore::): Ditto
4059 * editing/IndentOutdentCommand.cpp:
4060 (WebCore::indentBlockquoteString): Ditto
4061 * editing/ReplaceSelectionCommand.cpp:
4062 (WebCore::isInterchangeNewlineNode): Ditto
4063 (WebCore::isInterchangeConvertedSpaceSpan): Ditto
4064 * editing/htmlediting.cpp:
4065 (WebCore::stringWithRebalancedWhitespace): Ditto
4066 (WebCore::nonBreakingSpaceString): Ditto
4067 * editing/markup.cpp:
4068 (WebCore::appendAttributeValue): Ditto
4069 (WebCore::appendEscapedContent): Ditto
4070 (WebCore::shouldAddNamespaceAttr): Ditto
4071 (WebCore::appendNamespace): Ditto
4072 (WebCore::appendStartMarkup): Ditto
4073 (WebCore::createMarkup): Ditto
4074 * html/HTMLButtonElement.cpp:
4075 (WebCore::HTMLButtonElement::type): Ditto
4076 * html/HTMLElement.cpp:
4077 (WebCore::HTMLElement::isRecognizedTagName): Ditto
4078 (WebCore::inlineTagList): Ditto
4079 (WebCore::blockTagList): Ditto
4080 * html/HTMLFieldSetElement.cpp:
4081 (WebCore::HTMLFieldSetElement::type): Ditto
4082 * html/HTMLInputElement.cpp:
4083 (WebCore::HTMLInputElement::type): Ditto
4084 * html/HTMLKeygenElement.cpp:
4085 (WebCore::HTMLKeygenElement::type): Ditto
4086 * html/HTMLLegendElement.cpp:
4087 (WebCore::HTMLLegendElement::type): Ditto
4088 * html/HTMLOptGroupElement.cpp:
4089 (WebCore::HTMLOptGroupElement::type): Ditto
4090 * html/HTMLOptionElement.cpp:
4091 (WebCore::HTMLOptionElement::type): Ditto
4092 * html/HTMLParser.cpp:
4093 (WebCore::HTMLParser::getNode): Ditto
4094 (WebCore::HTMLParser::isHeaderTag): Ditto
4095 (WebCore::HTMLParser::isResidualStyleTag): Ditto
4096 (WebCore::HTMLParser::isAffectedByResidualStyle): Ditto
4097 * html/HTMLSelectElement.cpp:
4098 (WebCore::HTMLSelectElement::type): Ditto
4099 * html/HTMLTextAreaElement.cpp:
4100 (WebCore::HTMLTextAreaElement::type): Ditto
4101 * inspector/InspectorController.cpp:
4102 (WebCore::platform): Ditto
4103 * inspector/JavaScriptDebugServer.cpp:
4104 (WebCore::JavaScriptDebugServer::shared): Ditto
4105 * inspector/JavaScriptProfile.cpp:
4106 (WebCore::profileCache): Ditto
4107 * inspector/JavaScriptProfileNode.cpp:
4108 (WebCore::profileNodeCache): Ditto
4109 * loader/FrameLoader.cpp:
4110 (WebCore::localSchemes): Ditto
4111 * loader/appcache/ApplicationCacheStorage.cpp:
4112 (WebCore::cacheStorage): Ditto
4113 * loader/archive/ArchiveFactory.cpp:
4114 (WebCore::archiveMIMETypes): Ditto
4115 * loader/icon/IconDatabase.cpp:
4116 (WebCore::IconDatabase::defaultDatabaseFilename): Ditto
4117 * page/EventHandler.cpp:
4118 (WebCore::EventHandler::dragState): Ditto
4119 * page/Frame.cpp:
4120 (WebCore::createRegExpForLabels): Ditto
4121 (WebCore::keepAliveSet): Ditto
4122 * page/Page.cpp:
4123 (WebCore::Page::groupName): Ditto
4124 * page/SecurityOrigin.cpp:
4125 (WebCore::isDefaultPortForProtocol): Ditto
4126 (WebCore::SecurityOrigin::databaseIdentifier): Ditto
4127 * page/mac/FrameMac.mm:
4128 (WebCore::regExpForLabels): Ditto
4129 * platform/KURL.cpp:
4130 (WebCore::blankURL): Ditto
4131 * platform/graphics/FontCache.cpp:
4132 (WebCore::alternateFamilyName): Ditto
4133 * platform/graphics/mac/FontCacheMac.mm:
4134 (WebCore::FontCache::getSimilarFontPlatformData): Ditto
4135 (WebCore::FontCache::getLastResortFallbackFont): Ditto
4136 * platform/mac/ScrollbarThemeMac.mm:
4137 (WebCore::ScrollbarTheme::nativeTheme): Ditto
4138 * platform/mac/ThemeMac.mm:
4139 (WebCore::platformTheme): Ditto
4140 * platform/mac/ThreadCheck.mm:
4141 (WebCoreReportThreadViolation): Ditto
4142 * platform/network/NetworkStateNotifier.cpp:
4143 (WebCore::networkStateNotifier): Ditto
4144 * platform/network/mac/FormDataStreamMac.mm:
4145 (WebCore::getStreamFormDataMap): Ditto
4146 (WebCore::getStreamResourceHandleMap): Ditto
4147 * platform/network/mac/ResourceResponseMac.mm:
4148 (WebCore::ResourceResponse::platformLazyInit): Ditto
4149 * platform/text/TextEncoding.cpp:
4150 (WebCore::TextEncoding::isJapanese): Ditto
4151 * rendering/RenderBlock.cpp:
4152 (WebCore::continuationOutlineTable): Ditto
4153 * rendering/RenderCounter.cpp:
4154 (WebCore::counterMaps): Ditto
4155 * rendering/RenderFlexibleBox.cpp:
4156 (WebCore::RenderFlexibleBox::layoutVerticalBox): Ditto
4157 * rendering/RenderListItem.cpp:
4158 (WebCore::RenderListItem::markerText): Ditto
4159 * rendering/RenderScrollbarTheme.cpp:
4160 (WebCore::RenderScrollbarTheme::renderScrollbarTheme): Ditto
4161 * rendering/RenderThemeMac.mm:
4162 (WebCore::RenderThemeMac::systemFont): Ditto
4163 * rendering/bidi.cpp:
4164 (WebCore::RenderBlock::checkLinesForTextOverflow): Ditto
4165 * rendering/style/RenderStyle.cpp:
4166 (WebCore::RenderStyle::initialDashboardRegions): Ditto
4167 (WebCore::RenderStyle::noneDashboardRegions): Ditto
4168 * storage/LocalStorage.cpp:
4169 (WebCore::localStorageMap): Ditto
4170 * svg/SVGAnimateMotionElement.cpp:
4171 (WebCore::SVGAnimateMotionElement::rotateMode): Ditto
4172 * svg/SVGAnimationElement.cpp:
4173 (WebCore::SVGAnimationElement::calcMode): Ditto
4174 (WebCore::SVGAnimationElement::attributeType): Ditto
4175 (WebCore::SVGAnimationElement::isAdditive): Ditto
4176 (WebCore::SVGAnimationElement::isAccumulated): Ditto
4177 * svg/SVGLangSpace.cpp:
4178 (WebCore::SVGLangSpace::xmlspace): Ditto
4179 * svg/SVGSVGElement.cpp:
4180 (WebCore::SVGSVGElement::contentScriptType): Ditto
4181 (WebCore::SVGSVGElement::contentStyleType): Ditto
4182 * svg/SVGStyleElement.cpp:
4183 (WebCore::SVGStyleElement::type): Ditto
4184 (WebCore::SVGStyleElement::media): Ditto
4185 * svg/SVGTextContentElement.cpp:
4186 (WebCore::SVGTextContentElement::parseMappedAttribute): Ditto
4187 * svg/animation/SVGSMILElement.cpp:
4188 (WebCore::SVGSMILElement::parseClockValue): Ditto
4189 (WebCore::SVGSMILElement::restart): Ditto
4190 (WebCore::SVGSMILElement::fill): Ditto
4191 (WebCore::SVGSMILElement::repeatCount): Ditto
4192 (WebCore::SVGSMILElement::notifyDependentsIntervalChanged): Ditto
4193 * svg/graphics/SVGResource.cpp:
4194 (WebCore::clientMap): Ditto
4195 * svg/graphics/SVGResourceMarker.cpp:
4196 (WebCore::SVGResourceMarker::draw): Ditto
4197 * xml/XMLHttpRequest.cpp:
4198 (WebCore::preflightResultCache): Ditto
4199 (WebCore::isSafeRequestHeader): Ditto
4200 (WebCore::isOnAccessControlResponseHeaderWhitelist): Ditto
4201 * xml/XPathExpressionNode.cpp:
4202 (WebCore::XPath::Expression::evaluationContext): Ditto
4203 * xml/XPathParser.cpp:
4204 (WebCore::XPath::isAxisName): Ditto
4205 (WebCore::XPath::isNodeTypeName): Ditto
4206 * xml/XPathValue.cpp:
4207 (WebCore::XPath::Value::toNodeSet): Ditto
4208
vestbo@webkit.org6a404a22008-11-06 19:04:46 +000042092008-11-06 Tor Arne Vestbø <tavestbo@trolltech.com>
4210
4211 Rubber-stamped by Simon Hausmann.
4212
4213 Remove a bunch of unused methods in the Qt media element implementation
4214
4215 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
4216 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
4217 * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
4218
simon.fraser@apple.com845c2632008-11-06 18:42:24 +000042192008-11-05 Simon Fraser <simon.fraser@apple.com>
4220
4221 Reviewed by Dave Hyatt
4222
4223 https://bugs.webkit.org/show_bug.cgi?id=21870
4224
4225 Implement absoluteToLocal() to convert a point from absolute
4226 to local coordinates, optionally taking transforms into account.
4227
4228 Use this to set offsetX/offsetY in mouse events, thus fixing
4229 offsetX/offsetY in events on elements with transforms.
4230
4231 Test: fast/events/offsetX-offsetY.html
4232
4233 * dom/MouseRelatedEvent.cpp:
4234 (WebCore::MouseRelatedEvent::receivedTarget):
4235 * rendering/RenderBox.cpp:
4236 (WebCore::RenderBox::localToAbsolute):
4237 (WebCore::RenderBox::absoluteToLocal):
4238 (WebCore::RenderBox::offsetFromContainer):
4239 * rendering/RenderBox.h:
4240 * rendering/RenderObject.cpp:
4241 (WebCore::RenderObject::absoluteToLocal):
4242 * rendering/RenderObject.h:
4243 * rendering/RenderTableCell.cpp:
4244 (WebCore::RenderTableCell::localToAbsolute):
4245 (WebCore::RenderTableCell::absoluteToLocal):
4246 * rendering/RenderTableCell.h:
4247 * rendering/RenderView.cpp:
4248 (WebCore::RenderView::absoluteToLocal):
4249 * rendering/RenderView.h:
4250
alp@webkit.orga8a7ebd2008-11-06 18:41:18 +000042512008-11-06 Alp Toker <alp@nuanti.com>
4252
4253 Reviewed by Cameron Zwarich.
4254
4255 https://bugs.webkit.org/show_bug.cgi?id=22067
4256 [GTK] Sun Java plugin segfaults at PluginPackage::createPackage()
4257
4258 null-check symbols loaded from plugin modules, initialize the function
4259 table (like Win already does) and update it with the latest
4260 additions. Adjust whitespace for easy diff'ing with the Win port code
4261 from which it was forked.
4262
4263 This fixes crashes with libnspr4.so and any other plugins that don't
4264 provide the symbols we expect.
4265
4266 * plugins/gtk/PluginPackageGtk.cpp:
4267 (WebCore::PluginPackage::fetchInfo):
4268 (WebCore::PluginPackage::load):
4269
hausmann@webkit.org9be29cf2008-11-06 16:38:54 +000042702008-11-06 Kristian Amlie <kristian.amlie@nokia.com>
4271
4272 Reviewed by Simon Hausmann.
4273
hausmann@webkit.orgbdf11782008-11-06 18:38:57 +00004274 Removed dead (and broken) code from an ancient Symbian port.
4275
4276 * config.h:
4277 * platform/text/AtomicString.h:
4278 * platform/text/PlatformString.h:
4279
42802008-11-06 Kristian Amlie <kristian.amlie@nokia.com>
4281
4282 Reviewed by Simon Hausmann.
4283
hausmann@webkit.orge5ea3732008-11-06 18:38:48 +00004284 Use QLibrary as PlatformModule when compiling with Qt for S60.
4285
4286 * platform/FileSystem.h:
4287
42882008-11-06 Kristian Amlie <kristian.amlie@nokia.com>
4289
4290 Reviewed by Simon Hausmann.
4291
hausmann@webkit.org07a5d322008-11-06 18:38:31 +00004292 Compile fix for Symbian.
4293 The snprintf function is defined in stdio.h, the inclusion
4294 of snprintf.h inside this PLATFORM(SYMBIAN) block does not
4295 compile.
4296
4297 * config.h:
4298
42992008-11-06 Kristian Amlie <kristian.amlie@nokia.com>
4300
4301 Reviewed by Simon Hausmann.
4302
hausmann@webkit.org9be29cf2008-11-06 16:38:54 +00004303 Disable webkit plugins for Symbian.
4304
4305 * WebCore.pro:
4306
vestbo@webkit.orgb2902812008-11-06 12:14:49 +000043072008-11-06 Tor Arne Vestbø <tavestbo@trolltech.com>
4308
vestbo@webkit.orgecfcaef2008-11-06 12:15:13 +00004309 Fix build break in debug mode when XSLT is not enabled
4310
4311 * loader/Cache.cpp:
4312 (WebCore::Cache::dumpStats):
4313
43142008-11-06 Tor Arne Vestbø <tavestbo@trolltech.com>
4315
vestbo@webkit.orgb2902812008-11-06 12:14:49 +00004316 Reviewed by Simon Hausmann.
4317
4318 Repaint video on UpdateRequest to prevent recursive painting
4319
4320 Calling QWidget::render() to update the video generates a paint
4321 event that's then picked up by the event filter once more :(
4322
4323 We're really only interested in updates from Phonon, which we
4324 get through the UpdateRequest for each new frame.
4325
4326 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
4327 (WebCore::MediaPlayerPrivate::eventFilter):
4328
cwzwarich@webkit.orgdf57b3f2008-11-06 08:18:35 +000043292008-11-06 Cameron Zwarich <zwarich@apple.com>
4330
4331 Not reviewed.
4332
cwzwarich@webkit.org5400b932008-11-06 09:22:54 +00004333 Fix the WebCore build for some platforms by changing build scripts to
4334 account for the recent move of the create_hash_table script from the kjs
4335 subdirectory of JavaScriptCore to the root directory.
4336
4337 * WebCore.pro:
4338 * make-generated-sources.sh:
4339
43402008-11-06 Cameron Zwarich <zwarich@apple.com>
4341
4342 Not reviewed.
4343
cwzwarich@webkit.orgdf57b3f2008-11-06 08:18:35 +00004344 Fix a case-sensitivity issue in Mac forwarding headers. Strangely
4345 enough, this does not always cause the build to break, even with a
4346 case-sensitive filesystem.
4347
4348 * ForwardingHeaders/runtime/Interpreter.h:
4349
ap@webkit.org90b52e82008-11-06 07:04:47 +000043502008-11-05 Alexey Proskuryakov <ap@webkit.org>
4351
ap@webkit.orgddf67942008-11-06 07:07:23 +00004352 Reviewed by Maciej Stachowiak.
4353
4354 https://bugs.webkit.org/show_bug.cgi?id=22083
4355 MessageEvents cannot be used across threads
4356
4357 * dom/Event.idl:
4358 * dom/MessageEvent.idl:
4359 Add a NoStaticTables attribute - MessageEvent is used in worker threads, so static tables
4360 won't work.
4361
4362 * dom/MessagePort.cpp:
4363 (WebCore::MessagePort::EventData::EventData):
4364 (WebCore::MessagePort::EventData::~EventData):
4365 (WebCore::MessagePort::clone):
4366 (WebCore::MessagePort::postMessage):
4367 (WebCore::MessagePort::startConversation):
4368 (WebCore::MessagePort::dispatchMessages):
4369 * dom/MessagePort.h:
4370 Don't create a MessageEvent until dispatch time - messages can be posted across threads,
4371 but MessageEvents are tied to the thread that they were created in.
4372
43732008-11-05 Alexey Proskuryakov <ap@webkit.org>
4374
ap@webkit.org90b52e82008-11-06 07:04:47 +00004375 Reviewed by Darin Adler.
4376
4377 https://bugs.webkit.org/show_bug.cgi?id=22066
4378 Implement Worker global object
4379
4380 * DerivedSources.make: Added WorkerLocation IDL and JSWorkerContext lookup table.
4381
4382 * WebCore.xcodeproj/project.pbxproj: Only adding files to Mac project for now, as Worker
4383 support is still disabled by default.
4384
4385 * bindings/js/JSDOMGlobalObject.cpp: (WebCore::toJSDOMGlobalObject): Implemented Worker case.
4386
4387 * bindings/js/JSMessageChannelConstructor.cpp:
4388 (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): Ditto.
4389
4390 * bindings/js/JSWorkerContext.cpp: Added.
4391 * bindings/js/JSWorkerContext.h: Added.
4392 * bindings/js/WorkerScriptController.cpp: Added.
4393 * bindings/js/WorkerScriptController.h: Added.
4394 * dom/WorkerContext.cpp: Added.
4395 * dom/WorkerContext.h: Added.
4396 Added an implementation of worker contexts.
4397
4398 * dom/DedicatedWorker.cpp:
4399 (WebCore::DedicatedWorker::startLoad): Fixed a lifetime bug I saw on my tests.
4400 (WebCore::DedicatedWorker::notifyFinished): Create a thread. Currently, object ownership
4401 and lifetime is not clear at all.
4402
4403 * dom/WorkerLocation.cpp: Added.
4404 * dom/WorkerLocation.h: Added.
4405 * dom/WorkerLocation.idl: Added.
4406 Added WorkerLocation, which is one of the objects available to workers.
4407
4408 * dom/WorkerThread.cpp: Added.
4409 (WebCore::WorkerThread::WorkerThread):
4410 (WebCore::WorkerThread::start):
4411 (WebCore::WorkerThread::workerThreadStart):
4412 (WebCore::WorkerThread::workerThread):
4413 * dom/WorkerThread.h: Added.
4414 (WebCore::WorkerThread::create):
4415 Run some code in a worker thread (no message loop yet).
4416
antti@apple.comc5a38532008-11-06 02:40:54 +000044172008-11-05 Antti Koivisto <antti@apple.com>
4418
4419 Reviewed by Dan Bernstein.
4420
4421 https://bugs.webkit.org/show_bug.cgi?id=22093
4422 Don't keep decoded stylesheet data in cache
4423
4424 <rdar://problem/6343588>
4425
4426 Don't keep decoded stylesheet string around in the cache. There are no sharing benefits and
4427 performance benefits are negligible (no measured PLT impact). Reduces memory consumption of
4428 style sheet data in cache by 2/3 in common case.
4429
4430 * loader/CachedCSSStyleSheet.cpp:
4431 (WebCore::CachedCSSStyleSheet::sheetText):
4432 (WebCore::CachedCSSStyleSheet::data):
4433 * loader/CachedCSSStyleSheet.h:
4434
ddkilzer@apple.comb02df962008-11-06 02:00:19 +000044352008-11-05 David Kilzer <ddkilzer@apple.com>
4436
4437 Bug 21596: WebCore::Cache should use parsed Pragma and Cache-Control headers
4438
4439 <https://bugs.webkit.org/show_bug.cgi?id=21596>
4440
4441 Reviewed by Antti.
4442
4443 This patch adds real parsing for Pragma and Cache-Control headers
4444 based on RFC 2616, Sections 2, 14.9 and 14.32. It also adds some
4445 new String and StringImpl methods to assist with the parsing.
4446
4447 * loader/Cache.cpp:
4448 (WebCore::Cache::dumpStats): Added. Convenience method for dumping
4449 stats outside of Safari.
4450 * loader/Cache.h: Declared dumpStats().
4451
4452 * loader/CachedResource.cpp:
4453 (WebCore::CachedResource::mustRevalidate): Updated to use
4454 ResourceResponseBase::cacheControlDirectives() instead of substring
4455 matching of the entire Cache-Control header.
4456
4457 * loader/loader.cpp:
4458 (WebCore::Loader::Host::didReceiveResponse): Used the local
4459 'resource' variable instead of 'request->cachedResource()'.
4460
4461 * platform/network/ResourceResponseBase.cpp:
4462 (WebCore::ResourceResponseBase::setHTTPHeaderField): Set
4463 m_haveParsedCacheControlHeader to false when a "Cache-Control"
4464 header is set. Ditto for m_haveParsedPragmaHeader and "Pragma".
4465 (WebCore::ResourceResponseBase::parsePragmaDirectives): Added.
4466 Provides parsed Pragma header directives.
4467 (WebCore::ResourceResponseBase::parseCacheControlDirectives): Added.
4468 Provides parsed Cache-Control header directives.
4469 (WebCore::isCacheHeaderSeparator): Added. Returns true if a
4470 character is a separator character per RFC 2616, Section 2.2, else
4471 returns false.
4472 (WebCore::isControlCharacter): Added. Returns true if a character
4473 is a control character per RFC 2616 Section 2.2, else returns false.
4474 (WebCore::trimToNextSeparator): Added. Returns a string truncated
4475 at the first separator character per isCacheHeaderSeparator().
4476 (WebCore::parseCacheHeader): Added. This is the main parsing
4477 routine for both Cache-Control and Pragma headers.
4478 (WebCore::parseCacheControlDirectiveValues): Added. This splits
4479 certain Cache-Control directive values into a vector of strings.
4480 * platform/network/ResourceResponseBase.h:
4481 (WebCore::CacheControlDirectiveMap): Added. Typedef for a parsed
4482 Cache-Control header.
4483 (WebCore::PragmaDirectiveMap): Added. Typedef for a parsed Pragma
4484 header.
4485 (WebCore::ResourceResponseBase::parsePragmaDirectives): Added
4486 declaration.
4487 (WebCore::ResourceResponseBase::parseCacheControlDirectives): Ditto.
4488 (WebCore::ResourceResponseBase::m_haveParsedCacheControlHeader):
4489 Added. Boolean to describe when the "Cache-Control" header needs to
4490 be reparsed.
4491 (WebCore::ResourceResponseBase::m_haveParsedPragmaHeader): Added.
4492 Boolean to describe when the "Pragma" header needs to be reparsed.
4493 (WebCore::ResourceResponseBase::m_cacheControlDirectiveMap): Added.
4494 Cached map to hold parsed "Cache-Control" headers.
4495 (WebCore::ResourceResponseBase::m_pragmaDirectiveMap): Added.
4496 Cached map to hold parsed "Pragma" headers.
4497
4498 * platform/text/PlatformString.h:
4499 (WebCore::String::find): Added. Returns the first match based on
4500 the character-matching function pointer passed in.
4501 (WebCore::String::removeCharacters): Added declaration.
4502 (WebCore::find): Added. Inline method that takes a character-
4503 matching function pointer. Called by StringImpl::find().
4504 * platform/text/String.cpp:
4505 (WebCore::String::removeCharacters): Added. Calls
4506 StringImpl::removeCharacters().
4507 * platform/text/StringImpl.cpp:
4508 (WebCore::StringImpl::removeCharacters): Added. Returns a string
4509 with all characters removed that match the character-matching
4510 function pointer passed in. If there is no change to the string, it
4511 returns itself. Based heavily on StringImpl::simplifyWhitespace().
4512 (WebCore::StringImpl::find): Added. Calls WebCore::find().
4513 * platform/text/StringImpl.h:
4514 (WebCore::FindMatchFunctionPtr): Added. Typedef for a character-
4515 matching function pointer.
4516 (WebCore::StringImpl::removeCharacters): Added declaration.
4517 (WebCore::StringImpl::find): Ditto.
4518
justin.garcia@apple.com41ed13a2008-11-06 01:48:04 +000045192008-11-05 Justin Garcia <justin.garcia@apple.com>
4520
4521 Reviewed by Beth Dakin.
4522
4523 <rdar://problem/5480736> In Mail and Gmail, copied indented text pastes with line break
4524
4525 As a rule, we don't allow merges out of blockquotes. In the bug, we are inserting a text node
4526 between two blockquotes. Because the start merge moves the text node into a blockquote, when we
4527 determine whether or not we should do the end merge, it incorrectly appears as though the end merge
4528 is merging out of a blockquote. The fix is to determine whether or not we should do the end merge
4529 before we do the start merge, so that the start merge doesn't effect our decision.
4530
4531 * editing/ReplaceSelectionCommand.cpp:
4532 (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand): Initialize the new boolean.
4533 (WebCore::ReplaceSelectionCommand::mergeEndIfNeeded): Moved code from doApply() here for clarity.
4534 (WebCore::ReplaceSelectionCommand::doApply): Set m_shouldMergeEnd before we do the start merge.
4535 * editing/ReplaceSelectionCommand.h: Added m_shouldMergeEnd.
4536
cwzwarich@webkit.org0b51a732008-11-05 23:21:32 +000045372008-11-05 Cameron Zwarich <zwarich@apple.com>
4538
cwzwarich@webkit.org9eece252008-11-06 00:30:42 +00004539 Not reviewed.
4540
cwzwarich@webkit.org36c7fc72008-11-06 00:41:49 +00004541 Speculatively fix the Windows build, even though these changes may not
4542 actually matter for anything in the build, because the Windows bots are
4543 behind.
4544
4545 * WebCore.vcproj/WebCore.vcproj:
4546
45472008-11-05 Cameron Zwarich <zwarich@apple.com>
4548
4549 Not reviewed.
4550
cwzwarich@webkit.org9eece252008-11-06 00:30:42 +00004551 Fix the Qt build.
4552
4553 * bridge/qt/qt_class.cpp:
4554 * bridge/qt/qt_runtime.h:
4555
45562008-11-05 Cameron Zwarich <zwarich@apple.com>
4557
cwzwarich@webkit.org0b51a732008-11-05 23:21:32 +00004558 Rubber-stamped by Sam Weinig.
4559
4560 Move more files to the runtime subdirectory of JavaScriptCore.
4561
4562 * ForwardingHeaders/kjs/collector.h: Removed.
4563 * ForwardingHeaders/kjs/completion.h: Removed.
4564 * ForwardingHeaders/kjs/identifier.h: Removed.
4565 * ForwardingHeaders/kjs/interpreter.h: Removed.
4566 * ForwardingHeaders/kjs/lookup.h: Removed.
4567 * ForwardingHeaders/kjs/operations.h: Removed.
4568 * ForwardingHeaders/kjs/protect.h: Removed.
4569 * ForwardingHeaders/kjs/ustring.h: Removed.
4570 * ForwardingHeaders/runtime/Collector.h: Copied from ForwardingHeaders/kjs/collector.h.
4571 * ForwardingHeaders/runtime/Completion.h: Copied from ForwardingHeaders/kjs/completion.h.
4572 * ForwardingHeaders/runtime/Identifier.h: Copied from ForwardingHeaders/kjs/identifier.h.
4573 * ForwardingHeaders/runtime/Interpreter.h: Copied from ForwardingHeaders/kjs/interpreter.h.
4574 * ForwardingHeaders/runtime/Lookup.h: Copied from ForwardingHeaders/kjs/lookup.h.
4575 * ForwardingHeaders/runtime/Operations.h: Copied from ForwardingHeaders/kjs/operations.h.
4576 * ForwardingHeaders/runtime/Protect.h: Copied from ForwardingHeaders/kjs/protect.h.
4577 * ForwardingHeaders/runtime/UString.h: Copied from ForwardingHeaders/kjs/ustring.h.
4578 * bindings/js/GCController.cpp:
4579 * bindings/js/JSCustomPositionCallback.h:
4580 * bindings/js/JSCustomPositionErrorCallback.h:
4581 * bindings/js/JSCustomSQLStatementCallback.h:
4582 * bindings/js/JSCustomSQLStatementErrorCallback.h:
4583 * bindings/js/JSCustomSQLTransactionErrorCallback.h:
4584 * bindings/js/JSCustomVoidCallback.h:
4585 * bindings/js/JSDOMBinding.h:
4586 * bindings/js/JSDOMWindowBase.h:
4587 * bindings/js/JSEventListener.h:
4588 * bindings/js/ScheduledAction.h:
4589 * bindings/js/ScriptController.cpp:
4590 * bindings/js/ScriptController.h:
4591 * bindings/objc/WebScriptObject.mm:
4592 * bindings/scripts/CodeGeneratorJS.pm:
4593 * bridge/NP_jsobject.cpp:
4594 * bridge/c/c_class.cpp:
4595 * bridge/jni/jni_class.cpp:
4596 * bridge/jni/jni_jsobject.mm:
4597 * bridge/npruntime.cpp:
4598 * bridge/runtime_root.h:
4599 * history/CachedPage.h:
4600 * html/CanvasRenderingContext2D.cpp:
4601 * html/HTMLCanvasElement.cpp:
4602 * inspector/InspectorController.cpp:
4603 * inspector/JavaScriptCallFrame.cpp:
4604 * page/Console.cpp:
4605 * page/Page.cpp:
4606 * platform/text/AtomicString.cpp:
4607 * platform/text/PlatformString.h:
4608
weinig@apple.comef952ff2008-11-05 20:03:26 +000046092008-11-05 Sam Weinig <sam@webkit.org>
4610
4611 Reviewed by Anders Carlsson.
4612
4613 Fix https://bugs.webkit.org/show_bug.cgi?id=22085
4614 The Plugin JS object should expose item() and namedItem() methods to match Firefox
4615
4616 * bindings/js/JSPluginCustom.cpp:
4617 (WebCore::JSPlugin::nameGetter):
4618 * plugins/Plugin.cpp:
4619 (WebCore::Plugin::namedItem):
4620 * plugins/Plugin.h:
4621 * plugins/Plugin.idl:
4622
ap@webkit.org25eca0a2008-11-05 19:19:02 +000046232008-11-05 Alexey Proskuryakov <ap@webkit.org>
4624
4625 Reviewed by Maciej Stachowiak.
4626
4627 https://bugs.webkit.org/show_bug.cgi?id=21060
4628 Range#surroundContents incorrectly throws BAD_BOUNDARYPOINTS_ERR
4629
4630 Test: fast/dom/Range/surroundContents-check-boundary-points.html
4631
4632 * dom/Range.cpp: (WebCore::Range::surroundContents): Fix BAD_BOUNDARYPOINTS_ERR checks.
4633
andersca@apple.comd5804932008-11-05 18:42:29 +000046342008-11-05 Anders Carlsson <andersca@apple.com>
4635
4636 Reviewed by Dan Bernstein.
4637
4638 Remove two global destructors from CoreTextController.
4639
4640 * platform/graphics/mac/CoreTextController.cpp:
4641 (WebCore::CoreTextController::collectCoreTextRunsForCharacters):
4642
darin@chromium.orga9ece152008-11-05 18:41:07 +000046432008-11-05 Darin Fisher <darin@chromium.org>
4644
4645 Reviewed by Darin Adler.
4646
4647 CRASH at Scrollbar::invalidateRect due to null m_client
4648 https://bugs.webkit.org/show_bug.cgi?id=22080
4649
4650 * platform/Scrollbar.cpp:
4651 (WebCore::Scrollbar::isWindowActive):
4652 (WebCore::Scrollbar::invalidateRect):
4653
weinig@apple.com84ce5772008-11-05 18:30:59 +000046542008-11-04 Sam Weinig <sam@webkit.org>
4655
4656 Reviewed by Simon Hausmann.
4657
4658 Fix https://bugs.webkit.org/show_bug.cgi?id=21648
4659 navigator.mimeTypes and navigator.plugins don't expose item and namedItem to JS
4660
4661 - Also adds constructors for Plugin, PluginArray, MimeType and MimeTypeArray.
4662
4663 * bindings/js/JSMimeTypeArrayCustom.cpp:
4664 (WebCore::JSMimeTypeArray::nameGetter):
4665 * bindings/js/JSPluginArrayCustom.cpp:
4666 (WebCore::JSPluginArray::nameGetter):
4667 * page/DOMWindow.idl:
4668 * plugins/MimeType.idl:
4669 * plugins/MimeTypeArray.cpp:
4670 (WebCore::MimeTypeArray::namedItem):
4671 * plugins/MimeTypeArray.h:
4672 * plugins/MimeTypeArray.idl:
4673 * plugins/Plugin.idl:
4674 * plugins/PluginArray.cpp:
4675 (WebCore::PluginArray::namedItem):
4676 * plugins/PluginArray.h:
4677 * plugins/PluginArray.idl:
4678
sfalken@apple.com206de2b2008-11-05 18:23:10 +000046792008-11-05 Steve Falkenburg <sfalken@apple.com>
4680
4681 Build fix.
4682
4683 * plugins/PluginPackage.cpp:
4684
hausmann@webkit.orge5a83262008-11-05 15:31:30 +000046852008-11-05 Jeff Cook <cookiecaper@gmail.com>
4686
4687 Reviewed by Simon Hausmann and Tor Arne.
4688
4689 Fix crash in the Qt port when unloading swfdec and Flash 10
4690 by reordering window destruction and plugin stop.
4691
4692 See https://bugs.webkit.org/show_bug.cgi?id=20779
4693
4694 * plugins/qt/PluginViewQt.cpp:
4695 (WebCore::PluginView::stop):
4696
hausmann@webkit.org49f97662008-11-05 15:31:10 +000046972008-11-05 Simon Hausmann <hausmann@webkit.org>
4698
4699 Reviewed by Tor Arne Vestbø
4700
hausmann@webkit.orgf9c88732008-11-05 15:31:22 +00004701 Fix loading of Flash 10 in the Qt port by faking the toolkit to be Gtk.
4702
4703 Otherwise Flash refuses to load and function :(
4704
4705 * plugins/PluginPackage.cpp:
4706 (WebCore::PluginPackage::determineQuirks):
4707 * plugins/PluginQuirkSet.h:
4708 (WebCore::):
4709 * plugins/qt/PluginViewQt.cpp:
4710 (WebCore::PluginView::getValue):
4711
47122008-11-05 Simon Hausmann <hausmann@webkit.org>
4713
4714 Reviewed by Tor Arne Vestbø
4715
hausmann@webkit.org49f97662008-11-05 15:31:10 +00004716 Unify determineQuirks between the Qt and the Gtk PluginPackage.
4717 Share the code for parsing the module version from the description.
4718 This is currently used to determine Flash based quirks.
4719
4720 * plugins/PluginPackage.cpp:
4721 (WebCore::PluginPackage::createPackage):
4722 (WebCore::PluginPackage::determineQuirks):
4723 (WebCore::PluginPackage::determineModuleVersionFromDescription):
4724 * plugins/PluginPackage.h:
4725 * plugins/gtk/PluginPackageGtk.cpp:
4726 (WebCore::PluginPackage::fetchInfo):
4727 * plugins/qt/PluginPackageQt.cpp:
4728 (WebCore::PluginPackage::fetchInfo):
4729
cwzwarich@webkit.org4bcb8732008-11-05 00:49:41 +000047302008-11-04 Cameron Zwarich <zwarich@apple.com>
4731
4732 Rubber-stamped by Sam Weinig.
4733
4734 Move kjs/dtoa.h to the wtf subdirectory of JavaScriptCore.
4735
4736 * ForwardingHeaders/kjs/dtoa.h: Removed.
4737 * ForwardingHeaders/wtf/dtoa.h: Copied from ForwardingHeaders/kjs/dtoa.h.
4738 * css/CSSParser.cpp:
4739 * platform/text/String.cpp:
4740 * platform/text/StringImpl.cpp:
4741
pam@chromium.org28f3c1b2008-11-05 00:24:44 +000047422008-11-04 Jonathan Haas <myrdred@gmail.com>
4743
4744 Addiitonal tweaks and patch prep by Pamela Greene <pam@chromium.org>
4745
4746 Reviewed by Darin Adler.
4747
4748 Fixed an issue which could cause memory corruption using ToT libxml.
4749 See https://bugs.webkit.org/show_bug.cgi?id=15715
4750
4751 Test: fast/xsl/xslt-nested-stylesheets.xml
4752
4753 * xml/XSLImportRule.cpp:
4754 (WebCore::XSLImportRule::setXSLStyleSheet): Set parent rather than owner document
4755 * xml/XSLStyleSheet.cpp:
4756 (WebCore::XSLStyleSheet::XSLStyleSheet): Initialize m_parentStyleSheet
4757 (WebCore::XSLStyleSheet::parseString): Make all child stylesheets use parent's dictionary
4758 (WebCore::XSLStyleSheet::setParentStyleSheet): Added
4759 * xml/XSLStyleSheet.h: Added m_parentStyleSheet member
4760
simon.fraser@apple.com0d555c02008-11-04 22:40:53 +000047612008-11-04 Simon Fraser <simon.fraser@apple.com>
4762
4763 No review.
4764
4765 Improved buid fix: include MathExtras.h to get roundf on all platforms.
4766
4767 * platform/graphics/FloatPoint.h:
4768
beidson@apple.com0d9e16f2008-11-04 20:55:13 +000047692008-11-04 Brady Eidson <beidson@apple.com>
4770
4771 Reviewed by John Sullivan
4772
4773 Add a simple "visited" method to HistoryItem for use by global history
4774
4775 * WebCore.base.exp:
4776
4777 * history/HistoryItem.cpp:
4778 (WebCore::HistoryItem::visited): Update the title on the item, set last visited time,
4779 and bump the visit count. All things that should happen when a url is visited again!
4780 * history/HistoryItem.h:
4781
jmalonzo@webkit.org5b93bc22008-11-04 19:43:58 +000047822008-11-04 Jan Michael Alonzo <jmalonzo@webkit.org>
4783
4784 Build fix. Not reviewed.
4785
4786 * platform/graphics/FloatPoint.h: include math.h.
4787 reported by zdobersek in #webkit.
4788
darin@chromium.org48246852008-11-04 19:40:56 +000047892008-11-04 Darin Fisher <darin@chromium.org>
4790
4791 Reviewed by Anders Carlsson.
4792
4793 No need to clobber all ResourceRequest fields in FrameLoader::reload()
4794 https://bugs.webkit.org/show_bug.cgi?id=21949
4795
4796 * loader/FrameLoader.cpp:
4797 (WebCore::FrameLoader::reload):
4798
darin@apple.comebdfeb62008-11-04 19:00:58 +000047992008-11-04 Darin Adler <darin@apple.com>
4800
4801 Reviewed by Tim Hatcher.
4802
4803 * storage/Database.cpp:
4804 (WebCore::databaseVersionKey): Tweaked formatting.
4805
darin@apple.com6d0ef6f2008-11-04 18:58:45 +000048062008-11-03 Darin Adler <darin@apple.com>
4807
4808 Reviewed by Tim Hatcher.
4809
4810 - https://bugs.webkit.org/show_bug.cgi?id=22061
4811 create script to check for exit-time destructors
4812
4813 * WebCore.xcodeproj/project.pbxproj: Added a script
4814 phase that runs the check-for-exit-time-destructors script.
4815
4816 * html/HTMLAttributeNames.in: Removed some unused attribute names.
4817
4818 * html/HTMLEmbedElement.cpp:
4819 (WebCore::HTMLEmbedElement::parseMappedAttribute): Removed code that
4820 sets the write-only m_pluginPage.
4821 * html/HTMLEmbedElement.h: Ditto.
4822
4823 * platform/mac/CursorMac.mm:
4824 (WebCore::leakNamedCursor): Changed to return a Cursor&.
4825 (WebCore::pointerCursor): Changed to leak an object to avoid an
4826 exit-time destructor.
4827 (WebCore::crossCursor): Ditto.
4828 (WebCore::handCursor): Ditto.
4829 (WebCore::moveCursor): Ditto.
4830 (WebCore::verticalTextCursor): Ditto.
4831 (WebCore::cellCursor): Ditto.
4832 (WebCore::contextMenuCursor): Ditto.
4833 (WebCore::aliasCursor): Ditto.
4834 (WebCore::zoomInCursor): Ditto.
4835 (WebCore::zoomOutCursor): Ditto.
4836 (WebCore::copyCursor): Ditto.
4837 (WebCore::noneCursor): Ditto.
4838 (WebCore::progressCursor): Ditto.
4839 (WebCore::noDropCursor): Ditto.
4840 (WebCore::notAllowedCursor): Ditto.
4841 (WebCore::iBeamCursor): Ditto.
4842 (WebCore::waitCursor): Ditto.
4843 (WebCore::helpCursor): Ditto.
4844 (WebCore::eastResizeCursor): Ditto.
4845 (WebCore::northResizeCursor): Ditto.
4846 (WebCore::northEastResizeCursor): Ditto.
4847 (WebCore::northWestResizeCursor): Ditto.
4848 (WebCore::southResizeCursor): Ditto.
4849 (WebCore::southEastResizeCursor): Ditto.
4850 (WebCore::southWestResizeCursor): Ditto.
4851 (WebCore::westResizeCursor): Ditto.
4852 (WebCore::northSouthResizeCursor): Ditto.
4853 (WebCore::eastWestResizeCursor): Ditto.
4854 (WebCore::northEastSouthWestResizeCursor): Ditto.
4855 (WebCore::northWestSouthEastResizeCursor): Ditto.
4856 (WebCore::columnResizeCursor): Ditto.
4857 (WebCore::rowResizeCursor): Ditto.
4858 (WebCore::grabCursor): Ditto.
4859 (WebCore::grabbingCursor): Ditto.
4860
4861 * storage/Database.cpp:
4862 (WebCore::guidMutex): Changed to leak an object to avoid an
4863 exit-time destructor. Also added a comment explaining why it's
4864 thread safe.
4865 (WebCore::guidToVersionMap): Ditto.
4866 (WebCore::guidToDatabaseMap): Ditto.
4867 (WebCore::Database::databaseInfoTableName): Ditto.
4868 (WebCore::databaseVersionKey): Ditto.
4869 (WebCore::Database::getVersionFromDatabase): Ditto.
4870 (WebCore::Database::setVersionInDatabase): Ditto.
4871 (WebCore::guidForOriginAndName): Ditto.
4872 * storage/DatabaseTracker.cpp:
4873 (WebCore::DatabaseTracker::tracker): Ditto.
4874 (WebCore::notificationMutex): Ditto.
4875 (WebCore::notificationQueue): Ditto.
4876 (WebCore::DatabaseTracker::notifyDatabasesChanged): Ditto.
4877
simon.fraser@apple.comc65d3282008-11-04 18:54:50 +000048782008-11-04 Simon Fraser <simon.fraser@apple.com>
4879
4880 Reviewed by Dave Hyatt
4881
4882 https://bugs.webkit.org/show_bug.cgi?id=21941
4883
4884 Rename absolutePosition() to localToAbsolute(), and add the ability
4885 to optionally take transforms into account (which will eventually be the
4886 default behavior).
4887
4888 * WebCore.base.exp:
4889 * WebCore.xcodeproj/project.pbxproj:
4890 * dom/ContainerNode.cpp:
4891 (WebCore::ContainerNode::getUpperLeftCorner):
4892 (WebCore::ContainerNode::getLowerRightCorner):
4893 (WebCore::ContainerNode::getRect):
4894 * dom/ContainerNode.h:
4895 * dom/MouseRelatedEvent.cpp:
4896 (WebCore::MouseRelatedEvent::receivedTarget):
4897 * dom/Node.cpp:
4898 (WebCore::Node::getRect):
4899 * editing/SelectionController.cpp:
4900 (WebCore::SelectionController::layout):
4901 (WebCore::SelectionController::caretRect):
4902 * editing/visible_units.cpp:
4903 (WebCore::previousLinePosition):
4904 (WebCore::nextLinePosition):
4905 * html/HTMLAnchorElement.cpp:
4906 (WebCore::HTMLAnchorElement::isKeyboardFocusable):
4907 (WebCore::HTMLAnchorElement::defaultEventHandler):
4908 * html/HTMLAreaElement.cpp:
4909 (WebCore::HTMLAreaElement::getRect):
4910 * html/HTMLImageElement.cpp:
4911 (WebCore::HTMLImageElement::x):
4912 (WebCore::HTMLImageElement::y):
4913 * html/HTMLInputElement.cpp:
4914 (WebCore::HTMLInputElement::defaultEventHandler):
4915 * html/HTMLInputElement.h:
4916 * page/AccessibilityRenderObject.cpp:
4917 (WebCore::AccessibilityRenderObject::boundingBoxRect):
4918 * page/EventHandler.cpp:
4919 (WebCore::EventHandler::handleDrag):
4920 * platform/graphics/FloatPoint.h:
4921 (WebCore::roundedIntPoint):
4922 * platform/graphics/IntSize.h:
4923 (WebCore::IntSize::expand):
4924 * rendering/LayoutState.cpp:
4925 (WebCore::LayoutState::LayoutState):
4926 * rendering/RenderBlock.cpp:
4927 (WebCore::RenderBlock::layoutBlock):
4928 (WebCore::RenderBlock::paintObject):
4929 (WebCore::RenderBlock::selectionGapRects):
4930 (WebCore::RenderBlock::fillBlockSelectionGaps):
4931 (WebCore::RenderBlock::nodeAtPoint):
4932 (WebCore::RenderBlock::positionForCoordinates):
4933 * rendering/RenderBox.cpp:
4934 (WebCore::RenderBox::localToAbsolute):
4935 (WebCore::RenderBox::computeAbsoluteRepaintRect):
4936 (WebCore::RenderBox::caretRect):
4937 * rendering/RenderBox.h:
4938 (WebCore::RenderBox::relativePositionOffset):
4939 * rendering/RenderContainer.cpp:
4940 (WebCore::RenderContainer::addLineBoxRects):
4941 * rendering/RenderFlow.cpp:
4942 (WebCore::RenderFlow::absoluteClippedOverflowRect):
4943 (WebCore::RenderFlow::caretRect):
4944 (WebCore::RenderFlow::addFocusRingRects):
4945 * rendering/RenderLayer.cpp:
4946 (WebCore::RenderLayer::updateLayerPosition):
4947 (WebCore::RenderLayer::convertToLayerCoords):
4948 (WebCore::RenderLayer::addScrolledContentOffset):
4949 (WebCore::RenderLayer::subtractScrolledContentOffset):
4950 (WebCore::RenderLayer::scrollRectToVisible):
4951 * rendering/RenderLayer.h:
4952 (WebCore::RenderLayer::scrolledContentOffset):
4953 (WebCore::RenderLayer::relativePositionOffset):
4954 * rendering/RenderListBox.cpp:
4955 (WebCore::RenderListBox::panScroll):
4956 (WebCore::RenderListBox::scrollToward):
4957 * rendering/RenderListMarker.cpp:
4958 (WebCore::RenderListMarker::selectionRect):
4959 * rendering/RenderObject.cpp:
4960 (WebCore::RenderObject::absoluteBoundingBoxRect):
4961 (WebCore::RenderObject::computeAbsoluteRepaintRect):
4962 (WebCore::RenderObject::localToAbsolute):
4963 (WebCore::RenderObject::addDashboardRegions):
4964 (WebCore::RenderObject::absoluteContentBox):
4965 (WebCore::RenderObject::absoluteOutlineBox):
4966 * rendering/RenderObject.h:
4967 (WebCore::RenderObject::localToAbsoluteForContent):
4968 * rendering/RenderPart.cpp:
4969 (WebCore::RenderPart::updateWidgetPosition):
4970 * rendering/RenderReplaced.cpp:
4971 (WebCore::RenderReplaced::selectionRect):
4972 * rendering/RenderSVGInlineText.cpp:
4973 (WebCore::RenderSVGInlineText::computeAbsoluteRectForRange):
4974 * rendering/RenderSVGText.cpp:
4975 (WebCore::RenderSVGText::absoluteRects):
4976 * rendering/RenderTableCell.cpp:
4977 (WebCore::RenderTableCell::localToAbsolute):
4978 * rendering/RenderTableCell.h:
4979 * rendering/RenderText.cpp:
4980 (WebCore::RenderText::addLineBoxRects):
4981 (WebCore::RenderText::caretRect):
4982 (WebCore::RenderText::selectionRect):
4983 * rendering/RenderVideo.cpp:
4984 (WebCore::RenderVideo::updatePlayer):
4985 * rendering/RenderView.cpp:
4986 (WebCore::RenderView::localToAbsolute):
4987 * rendering/RenderView.h:
4988 * rendering/RenderWidget.cpp:
4989 (WebCore::RenderWidget::updateWidgetPosition):
4990 * svg/SVGSVGElement.cpp:
4991 (WebCore::SVGSVGElement::getScreenCTM):
4992
hausmann@webkit.orgb8b5aa12008-11-04 16:22:05 +000049932008-11-03 Yael Aharon <yael.aharon@nokia.com>
4994
4995 Reviewed by Simon Hausmann.
4996
4997 Add methods for getting and setting user data on History Item.
4998 This change is limited to QT port only. Tests were added in
4999 the patch for https://bugs.webkit.org/show_bug.cgi?id=21864.
5000
5001 Minor change by Simon: made the functions inline and added a missing
5002 const.
5003
5004 * history/HistoryItem.h:
5005
ap@webkit.orgc5e3f1b2008-11-04 10:46:13 +000050062008-11-01 Alexey Proskuryakov <ap@webkit.org>
5007
5008 Reviewed by Darin Adler.
5009
5010 https://bugs.webkit.org/show_bug.cgi?id=22030
5011 Make EventNames usable from multiple threads
5012
5013 * platform/text/AtomicString.cpp:
5014 (WebCore::stringTable):
5015 (WebCore::AtomicString::add):
5016 (WebCore::AtomicString::remove):
5017 (WebCore::AtomicString::find):
5018 (WebCore::AtomicString::init):
5019 * platform/text/AtomicString.h:
5020 Atomic string table is now per-thread. Individual strings cannot be shared between threads,
5021 so global AtomicString constants cannot be used from threads other than the main one.
5022
5023 * dom/EventNames.cpp:
5024 (WebCore::EventNames::EventNames):
5025 (WebCore::eventNames):
5026 (WebCore::EventNames::init):
5027 * dom/EventNames.h:
5028 Made EventNames a ThreadSpecific struct. Individual event names are now accessed as
5029 eventNames().fooEvent, not EventNames::fooEvent. This makes EventNames usable from all
5030 threads.
5031
5032 * WebCore.base.exp:
5033 * bindings/js/JSDOMWindowBase.cpp:
5034 * bindings/js/JSEventListener.cpp:
5035 * bindings/js/ScriptController.cpp:
5036 (WebCore::ScriptController::processingUserGesture):
5037 * dom/BeforeTextInsertedEvent.cpp:
5038 (WebCore::BeforeTextInsertedEvent::BeforeTextInsertedEvent):
5039 * dom/BeforeUnloadEvent.cpp:
5040 (WebCore::BeforeUnloadEvent::BeforeUnloadEvent):
5041 * dom/CharacterData.cpp:
5042 (WebCore::CharacterData::dispatchModifiedEvent):
5043 * dom/ContainerNode.cpp:
5044 (WebCore::dispatchChildInsertionEvents):
5045 (WebCore::dispatchChildRemovalEvents):
5046 * dom/DedicatedWorker.cpp:
5047 (WebCore::DedicatedWorker::dispatchErrorEvent):
5048 * dom/Document.cpp:
5049 (WebCore::Document::implicitClose):
5050 (WebCore::Document::setFocusedNode):
5051 (WebCore::Document::addListenerTypeIfNeeded):
5052 (WebCore::Document::removeWindowInlineEventListenerForType):
5053 (WebCore::Document::addWindowEventListener):
5054 (WebCore::Document::removeWindowEventListener):
5055 (WebCore::Document::finishedParsing):
5056 * dom/EventTargetNode.cpp:
5057 (WebCore::EventTargetNode::dispatchGenericEvent):
5058 (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent):
5059 (WebCore::EventTargetNode::dispatchWindowEvent):
5060 (WebCore::EventTargetNode::dispatchUIEvent):
5061 (WebCore::EventTargetNode::dispatchSimulatedClick):
5062 (WebCore::EventTargetNode::dispatchMouseEvent):
5063 (WebCore::EventTargetNode::dispatchFocusEvent):
5064 (WebCore::EventTargetNode::dispatchBlurEvent):
5065 (WebCore::EventTargetNode::defaultEventHandler):
5066 (WebCore::EventTargetNode::on*): (multiple methods)
5067 (WebCore::EventTargetNode::setOn*): (multiple methods)
5068 * dom/KeyboardEvent.cpp:
5069 (WebCore::eventTypeForKeyboardEventType):
5070 (WebCore::KeyboardEvent::keyCode):
5071 (WebCore::KeyboardEvent::charCode):
5072 * dom/MessageEvent.cpp:
5073 (WebCore::MessageEvent::MessageEvent):
5074 * dom/MessagePort.cpp:
5075 (WebCore::MessagePort::dispatchMessages):
5076 (WebCore::MessagePort::dispatchCloseEvent):
5077 * dom/MouseEvent.cpp:
5078 (WebCore::MouseEvent::isDragEvent):
5079 (WebCore::MouseEvent::toElement):
5080 (WebCore::MouseEvent::fromElement):
5081 * dom/OverflowEvent.cpp:
5082 (WebCore::OverflowEvent::OverflowEvent):
5083 * dom/TextEvent.cpp:
5084 (WebCore::TextEvent::TextEvent):
5085 * dom/WebKitAnimationEvent.cpp:
5086 (WebCore::WebKitAnimationEvent::WebKitAnimationEvent):
5087 (WebCore::WebKitAnimationEvent::~WebKitAnimationEvent):
5088 (WebCore::WebKitAnimationEvent::initWebKitAnimationEvent):
5089 (WebCore::WebKitAnimationEvent::animationName):
5090 (WebCore::WebKitAnimationEvent::elapsedTime):
5091 * dom/WebKitTransitionEvent.cpp:
5092 (WebCore::WebKitTransitionEvent::WebKitTransitionEvent):
5093 (WebCore::WebKitTransitionEvent::~WebKitTransitionEvent):
5094 (WebCore::WebKitTransitionEvent::initWebKitTransitionEvent):
5095 (WebCore::WebKitTransitionEvent::propertyName):
5096 (WebCore::WebKitTransitionEvent::elapsedTime):
5097 * dom/WheelEvent.cpp:
5098 (WebCore::WheelEvent::WheelEvent):
5099 (WebCore::WheelEvent::initWheelEvent):
5100 * dom/XMLTokenizerLibxml2.cpp:
5101 * dom/XMLTokenizerQt.cpp:
5102 * editing/DeleteButton.cpp:
5103 (WebCore::DeleteButton::defaultEventHandler):
5104 * editing/EditCommand.cpp:
5105 * editing/Editor.cpp:
5106 (WebCore::Editor::canDHTMLCut):
5107 (WebCore::Editor::canDHTMLCopy):
5108 (WebCore::Editor::canDHTMLPaste):
5109 (WebCore::Editor::tryDHTMLCopy):
5110 (WebCore::Editor::tryDHTMLCut):
5111 (WebCore::Editor::tryDHTMLPaste):
5112 (WebCore::dispatchEditableContentChangedEvents):
5113 * editing/ReplaceSelectionCommand.cpp:
5114 (WebCore::ReplacementFragment::ReplacementFragment):
5115 * editing/SelectionController.cpp:
5116 (WebCore::SelectionController::setFocused):
5117 * html/HTMLAnchorElement.cpp:
5118 (WebCore::HTMLAnchorElement::defaultEventHandler):
5119 * html/HTMLBodyElement.cpp:
5120 (WebCore::HTMLBodyElement::parseMappedAttribute):
5121 * html/HTMLButtonElement.cpp:
5122 (WebCore::HTMLButtonElement::parseMappedAttribute):
5123 (WebCore::HTMLButtonElement::defaultEventHandler):
5124 * html/HTMLElement.cpp:
5125 (WebCore::HTMLElement::parseMappedAttribute):
5126 * html/HTMLFormControlElement.cpp:
5127 (WebCore::HTMLFormControlElement::onChange):
5128 * html/HTMLFormElement.cpp:
5129 (WebCore::HTMLFormElement::handleLocalEvents):
5130 (WebCore::HTMLFormElement::prepareSubmit):
5131 (WebCore::HTMLFormElement::reset):
5132 (WebCore::HTMLFormElement::parseMappedAttribute):
5133 * html/HTMLFrameElementBase.cpp:
5134 (WebCore::HTMLFrameElementBase::parseMappedAttribute):
5135 * html/HTMLFrameSetElement.cpp:
5136 (WebCore::HTMLFrameSetElement::parseMappedAttribute):
5137 * html/HTMLImageElement.cpp:
5138 (WebCore::HTMLImageElement::parseMappedAttribute):
5139 * html/HTMLImageLoader.cpp:
5140 (WebCore::HTMLImageLoader::dispatchLoadEvent):
5141 * html/HTMLInputElement.cpp:
5142 (WebCore::HTMLInputElement::parseMappedAttribute):
5143 (WebCore::HTMLInputElement::setValueFromRenderer):
5144 (WebCore::HTMLInputElement::preDispatchEventHandler):
5145 (WebCore::HTMLInputElement::postDispatchEventHandler):
5146 (WebCore::HTMLInputElement::defaultEventHandler):
5147 (WebCore::HTMLInputElement::onSearch):
5148 * html/HTMLLabelElement.cpp:
5149 (WebCore::HTMLLabelElement::defaultEventHandler):
5150 * html/HTMLMediaElement.cpp:
5151 (WebCore::HTMLMediaElement::load):
5152 (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
5153 (WebCore::HTMLMediaElement::setReadyState):
5154 (WebCore::HTMLMediaElement::progressEventTimerFired):
5155 (WebCore::HTMLMediaElement::seek):
5156 (WebCore::HTMLMediaElement::setDefaultPlaybackRate):
5157 (WebCore::HTMLMediaElement::setPlaybackRate):
5158 (WebCore::HTMLMediaElement::play):
5159 (WebCore::HTMLMediaElement::pause):
5160 (WebCore::HTMLMediaElement::setVolume):
5161 (WebCore::HTMLMediaElement::setMuted):
5162 (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
5163 (WebCore::HTMLMediaElement::documentWillBecomeInactive):
5164 * html/HTMLObjectElement.cpp:
5165 (WebCore::HTMLObjectElement::parseMappedAttribute):
5166 * html/HTMLOptionElement.cpp:
5167 * html/HTMLScriptElement.cpp:
5168 (WebCore::HTMLScriptElement::parseMappedAttribute):
5169 (WebCore::HTMLScriptElement::dispatchLoadEvent):
5170 (WebCore::HTMLScriptElement::dispatchErrorEvent):
5171 * html/HTMLSelectElement.cpp:
5172 (WebCore::HTMLSelectElement::parseMappedAttribute):
5173 (WebCore::HTMLSelectElement::defaultEventHandler):
5174 (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
5175 (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
5176 * html/HTMLTextAreaElement.cpp:
5177 (WebCore::HTMLTextAreaElement::parseMappedAttribute):
5178 (WebCore::HTMLTextAreaElement::defaultEventHandler):
5179 * html/HTMLTokenizer.cpp:
5180 (WebCore::HTMLTokenizer::notifyFinished):
5181 * loader/FrameLoader.cpp:
5182 (WebCore::FrameLoader::stopLoading):
5183 (WebCore::FrameLoader::canCachePage):
5184 * loader/ImageDocument.cpp:
5185 (WebCore::ImageEventListener::handleEvent):
5186 * loader/ImageLoader.cpp:
5187 * loader/MediaDocument.cpp:
5188 (WebCore::MediaDocument::defaultEventHandler):
5189 * loader/appcache/DOMApplicationCache.cpp:
5190 (WebCore::DOMApplicationCache::callCheckingListener):
5191 (WebCore::DOMApplicationCache::callErrorListener):
5192 (WebCore::DOMApplicationCache::callNoUpdateListener):
5193 (WebCore::DOMApplicationCache::callDownloadingListener):
5194 (WebCore::DOMApplicationCache::callProgressListener):
5195 (WebCore::DOMApplicationCache::callUpdateReadyListener):
5196 (WebCore::DOMApplicationCache::callCachedListener):
5197 * page/AccessibilityObject.cpp:
5198 * page/AccessibilityRenderObject.cpp:
5199 (WebCore::AccessibilityRenderObject::mouseButtonListener):
5200 * page/ContextMenuController.cpp:
5201 (WebCore::ContextMenuController::handleContextMenuEvent):
5202 * page/DOMWindow.cpp:
5203 (WebCore::DOMWindow::on*): (multiple methods)
5204 (WebCore::DOMWindow::setOn*): (multiple methods)
5205 * page/EventHandler.cpp:
5206 (WebCore::EventHandler::handleMousePressEvent):
5207 (WebCore::EventHandler::handleMouseDoubleClickEvent):
5208 (WebCore::EventHandler::handleMouseMoveEvent):
5209 (WebCore::EventHandler::handleMouseReleaseEvent):
5210 (WebCore::EventHandler::updateDragAndDrop):
5211 (WebCore::EventHandler::cancelDragAndDrop):
5212 (WebCore::EventHandler::performDragAndDrop):
5213 (WebCore::EventHandler::updateMouseEventTargetNode):
5214 (WebCore::EventHandler::dispatchMouseEvent):
5215 (WebCore::EventHandler::sendContextMenuEvent):
5216 (WebCore::EventHandler::canMouseDownStartSelect):
5217 (WebCore::EventHandler::canMouseDragExtendSelect):
5218 (WebCore::EventHandler::defaultKeyboardEventHandler):
5219 (WebCore::EventHandler::dragSourceMovedTo):
5220 (WebCore::EventHandler::dragSourceEndedAt):
5221 (WebCore::EventHandler::handleDrag):
5222 (WebCore::EventHandler::handleTextInputEvent):
5223 * page/FocusController.cpp:
5224 * page/Frame.cpp:
5225 (WebCore::Frame::sendResizeEvent):
5226 (WebCore::Frame::sendScrollEvent):
5227 * page/Page.cpp:
5228 (WebCore::networkStateChanged):
5229 * page/animation/AnimationBase.cpp:
5230 (WebCore::AnimationBase::updateStateMachine):
5231 (WebCore::AnimationBase::animationTimerCallbackFired):
5232 (WebCore::AnimationBase::primeEventTimers):
5233 * page/animation/ImplicitAnimation.cpp:
5234 (WebCore::ImplicitAnimation::onAnimationEnd):
5235 (WebCore::ImplicitAnimation::sendTransitionEvent):
5236 * page/animation/KeyframeAnimation.cpp:
5237 (WebCore::KeyframeAnimation::onAnimationStart):
5238 (WebCore::KeyframeAnimation::onAnimationIteration):
5239 (WebCore::KeyframeAnimation::onAnimationEnd):
5240 (WebCore::KeyframeAnimation::sendAnimationEvent):
5241 * page/gtk/EventHandlerGtk.cpp:
5242 * page/mac/EventHandlerMac.mm:
5243 (WebCore::isKeyboardOptionTab):
5244 * page/mac/FrameMac.mm:
5245 * page/qt/EventHandlerQt.cpp:
5246 (WebCore::isKeyboardOptionTab):
5247 * plugins/PluginView.cpp:
5248 * plugins/gtk/PluginViewGtk.cpp:
5249 * plugins/qt/PluginViewQt.cpp:
5250 * plugins/win/PluginViewWin.cpp:
5251 (WebCore::PluginView::handleKeyboardEvent):
5252 (WebCore::PluginView::handleMouseEvent):
5253 * rendering/MediaControlElements.cpp:
5254 (WebCore::MediaControlMuteButtonElement::defaultEventHandler):
5255 (WebCore::MediaControlPlayButtonElement::defaultEventHandler):
5256 (WebCore::MediaControlSeekButtonElement::defaultEventHandler):
5257 (WebCore::MediaControlTimelineElement::defaultEventHandler):
5258 (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):
5259 * rendering/RenderFrameSet.cpp:
5260 (WebCore::RenderFrameSet::userResize):
5261 * rendering/RenderLayer.cpp:
5262 (WebCore::RenderLayer::scrollToOffset):
5263 * rendering/RenderListBox.cpp:
5264 (WebCore::RenderListBox::valueChanged):
5265 * rendering/RenderMedia.cpp:
5266 (WebCore::RenderMedia::forwardEvent):
5267 * rendering/RenderObject.cpp:
5268 * rendering/RenderSlider.cpp:
5269 (WebCore::HTMLSliderThumbElement::defaultEventHandler):
5270 * rendering/RenderTextControl.cpp:
5271 (WebCore::RenderTextControl::forwardEvent):
5272 (WebCore::RenderTextControl::selectionChanged):
5273 * rendering/RenderWidget.cpp:
5274 * rendering/TextControlInnerElements.cpp:
5275 (WebCore::TextControlInnerTextElement::defaultEventHandler):
5276 (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
5277 (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
5278 * storage/LocalStorageArea.cpp:
5279 (WebCore::LocalStorageArea::dispatchStorageEvent):
5280 * storage/SessionStorageArea.cpp:
5281 (WebCore::SessionStorageArea::dispatchStorageEvent):
5282 * svg/SVGAElement.cpp:
5283 (WebCore::SVGAElement::defaultEventHandler):
5284 * svg/SVGDocument.cpp:
5285 (WebCore::SVGDocument::dispatchZoomEvent):
5286 (WebCore::SVGDocument::dispatchScrollEvent):
5287 * svg/SVGElement.cpp:
5288 (WebCore::SVGElement::parseMappedAttribute):
5289 (WebCore::hasLoadListener):
5290 (WebCore::SVGElement::sendSVGLoadEventIfPossible):
5291 * svg/SVGElementInstance.cpp:
5292 (WebCore::SVGElementInstance::on*): (multiple methods)
5293 (WebCore::SVGElementInstance::setOn*): (multiple methods)
5294 * svg/SVGImageLoader.cpp:
5295 (WebCore::SVGImageLoader::dispatchLoadEvent):
5296 * svg/SVGSVGElement.cpp:
5297 (WebCore::SVGSVGElement::parseMappedAttribute):
5298 * svg/SVGScriptElement.cpp:
5299 (WebCore::SVGScriptElement::dispatchErrorEvent):
5300 * xml/XMLHttpRequest.cpp:
5301 (WebCore::XMLHttpRequest::dispatchReadyStateChangeEvent):
5302 (WebCore::XMLHttpRequest::dispatchAbortEvent):
5303 (WebCore::XMLHttpRequest::dispatchErrorEvent):
5304 (WebCore::XMLHttpRequest::dispatchLoadEvent):
5305 (WebCore::XMLHttpRequest::dispatchLoadStartEvent):
5306 (WebCore::XMLHttpRequest::dispatchProgressEvent):
5307 * xml/XMLHttpRequestUpload.cpp:
5308 (WebCore::XMLHttpRequestUpload::dispatchAbortEvent):
5309 (WebCore::XMLHttpRequestUpload::dispatchErrorEvent):
5310 (WebCore::XMLHttpRequestUpload::dispatchLoadEvent):
5311 (WebCore::XMLHttpRequestUpload::dispatchLoadStartEvent):
5312 (WebCore::XMLHttpRequestUpload::dispatchProgressEvent):
5313 * xml/XPathResult.cpp:
5314 (WebCore::XPathResult::XPathResult):
5315 (WebCore::XPathResult::~XPathResult):
5316 (WebCore::XPathResult::invalidateIteratorState):
5317 Access event names via eventNames() function.
5318
cwzwarich@webkit.org26ab56b2008-11-04 08:07:41 +000053192008-11-04 Cameron Zwarich <zwarich@apple.com>
5320
cwzwarich@webkit.orgd39a1fc2008-11-04 09:43:49 +00005321 Reviewed by Mark Rowe.
5322
5323 Delete unused forwarding headers.
5324
5325 * ForwardingHeaders/kjs/Activation.h: Removed.
5326 * ForwardingHeaders/kjs/Register.h: Removed.
5327 * ForwardingHeaders/kjs/RegisterID.h: Removed.
5328
53292008-11-04 Cameron Zwarich <zwarich@apple.com>
5330
cwzwarich@webkit.org26ab56b2008-11-04 08:07:41 +00005331 Not reviewed.
5332
5333 Fix stupid typo in previous build fix.
5334
5335 * bindings/js/JSStorageCustom.cpp:
5336 * bindings/scripts/CodeGeneratorJS.pm:
5337 * bridge/NP_jsobject.cpp:
5338
cwzwarich@webkit.org4b497862008-11-04 04:00:31 +000053392008-11-03 Cameron Zwarich <zwarich@apple.com>
5340
cwzwarich@webkit.orge0e250b2008-11-04 07:33:36 +00005341 Not reviewed.
5342
cwzwarich@webkit.org5d5284b2008-11-04 07:56:20 +00005343 Fix the build for all non-Mac platforms.
5344
5345 * ForwardingHeaders/kjs/PropertyNameArray.h: Removed.
5346 * ForwardingHeaders/runtime/PropertyNameArray.h: Copied from ForwardingHeaders/kjs/PropertyNameArray.h.
5347 * bindings/js/JSStorageCustom.cpp:
5348 * bindings/scripts/CodeGeneratorJS.pm:
5349 * bridge/NP_jsobject.cpp:
5350
53512008-11-03 Cameron Zwarich <zwarich@apple.com>
5352
5353 Not reviewed.
5354
cwzwarich@webkit.orge0e250b2008-11-04 07:33:36 +00005355 Fix the wxWindows build.
5356
5357 * bridge/c/c_instance.cpp:
5358
53592008-11-03 Cameron Zwarich <zwarich@apple.com>
5360
cwzwarich@webkit.orgb91210c2008-11-04 07:10:41 +00005361 Rubber-stamped by Maciej Stachowiak.
5362
5363 Move more files into the runtime subdirectory of JavaScriptCore.
5364
5365 * ForwardingHeaders/kjs/ArgList.h: Removed.
5366 * ForwardingHeaders/kjs/CollectorHeapIterator.h: Removed.
5367 * ForwardingHeaders/kjs/ExecState.h: Removed.
5368 * ForwardingHeaders/kjs/InitializeThreading.h: Removed.
5369 * ForwardingHeaders/kjs/JSGlobalData.h: Removed.
5370 * ForwardingHeaders/kjs/JSLock.h: Removed.
5371 * ForwardingHeaders/kjs/SymbolTable.h: Removed.
5372 * ForwardingHeaders/runtime/ArgList.h: Copied from ForwardingHeaders/kjs/ArgList.h.
5373 * ForwardingHeaders/runtime/CollectorHeapIterator.h: Copied from ForwardingHeaders/kjs/CollectorHeapIterator.h.
5374 * ForwardingHeaders/runtime/ExecState.h: Copied from ForwardingHeaders/kjs/ExecState.h.
5375 * ForwardingHeaders/runtime/InitializeThreading.h: Copied from ForwardingHeaders/kjs/InitializeThreading.h.
5376 * ForwardingHeaders/runtime/JSGlobalData.h: Copied from ForwardingHeaders/kjs/JSGlobalData.h.
5377 * ForwardingHeaders/runtime/JSLock.h: Copied from ForwardingHeaders/kjs/JSLock.h.
5378 * ForwardingHeaders/runtime/SymbolTable.h: Copied from ForwardingHeaders/kjs/SymbolTable.h.
5379 * bindings/js/GCController.cpp:
5380 * bindings/js/JSCustomPositionCallback.cpp:
5381 * bindings/js/JSCustomPositionErrorCallback.cpp:
5382 * bindings/js/JSCustomSQLStatementCallback.cpp:
5383 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
5384 * bindings/js/JSCustomSQLTransactionCallback.cpp:
5385 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
5386 * bindings/js/JSCustomVoidCallback.cpp:
5387 * bindings/js/JSCustomXPathNSResolver.cpp:
5388 * bindings/js/JSDOMWindowBase.cpp:
5389 * bindings/js/JSEventCustom.cpp:
5390 * bindings/js/JSEventListener.cpp:
5391 * bindings/js/JSNodeFilterCondition.cpp:
5392 * bindings/js/ScheduledAction.cpp:
5393 * bindings/js/ScriptController.cpp:
5394 * bindings/js/ScriptControllerMac.mm:
5395 * bindings/objc/WebScriptObject.mm:
5396 * bridge/NP_jsobject.cpp:
5397 * bridge/c/c_class.cpp:
5398 * bridge/c/c_instance.cpp:
5399 * bridge/c/c_runtime.cpp:
5400 * bridge/c/c_utility.cpp:
5401 * bridge/jni/jni_class.cpp:
5402 * bridge/jni/jni_instance.cpp:
5403 * bridge/jni/jni_jsobject.mm:
5404 * bridge/jni/jni_objc.mm:
5405 * bridge/jni/jni_runtime.cpp:
5406 * bridge/jni/jni_runtime.h:
5407 * bridge/jni/jni_utility.cpp:
5408 * bridge/npruntime.cpp:
5409 * bridge/objc/objc_instance.mm:
5410 * bridge/objc/objc_runtime.mm:
5411 * bridge/objc/objc_utility.mm:
5412 * bridge/runtime.cpp:
5413 * dom/Document.cpp:
5414 * dom/Node.cpp:
5415 * dom/NodeFilter.cpp:
5416 * dom/NodeIterator.cpp:
5417 * dom/TreeWalker.cpp:
5418 * history/CachedPage.cpp:
5419 * inspector/InspectorController.cpp:
5420 * inspector/JavaScriptCallFrame.cpp:
5421 * inspector/JavaScriptCallFrame.h:
5422 * inspector/JavaScriptDebugServer.cpp:
5423 * inspector/JavaScriptProfileNode.cpp:
5424 * loader/FrameLoader.cpp:
5425 * loader/icon/IconDatabase.cpp:
5426 * page/Console.cpp:
5427 * page/Page.cpp:
5428 * page/mac/FrameMac.mm:
5429 * plugins/PluginView.cpp:
5430 * plugins/gtk/PluginViewGtk.cpp:
5431 * plugins/qt/PluginViewQt.cpp:
5432 * plugins/win/PluginViewWin.cpp:
5433 * storage/Database.cpp:
5434 * xml/XMLHttpRequest.cpp:
5435
54362008-11-03 Cameron Zwarich <zwarich@apple.com>
5437
cwzwarich@webkit.org4b497862008-11-04 04:00:31 +00005438 Reviewed by Sam Weinig.
5439
5440 Remove the forwarding header for FunctionCallProfile, because it was
5441 renamed to ProfileNode in r33466.
5442
5443 * ForwardingHeaders/kjs/FunctionCallProfile.h: Removed.
5444
simon.fraser@apple.comf9050b32008-11-03 22:37:00 +000054452008-11-03 Simon Fraser <simon.fraser@apple.com>
5446
5447 Reviewed by Dave Hyatt
5448
5449 https://bugs.webkit.org/show_bug.cgi?id=22026
5450
5451 When computing the bounds of the transparency layer, we need to
5452 map the clipRect through the enclosing transform.
5453
5454 Test: fast/layers/opacity-transforms.html
5455
5456 * rendering/RenderLayer.cpp:
5457 (WebCore::transparencyClipBox):
5458
kdecker@apple.comeb4eabb22008-11-03 20:52:50 +000054592008-11-03 Kevin Decker <kdecker@apple.com>
5460
5461 Reviewed by Anders Carlsson.
5462
5463 https://bugs.webkit.org/show_bug.cgi?id=22053
5464
5465 Added additional support needed for the NPDrawingModelCoreAnimation drawing model.
5466
5467 * bridge/npapi.h:
5468
alp@webkit.org75ab3a52008-11-03 19:15:13 +000054692008-11-03 Xan Lopez <xan@gnome.org>
5470
5471 Reviewed by Alp Toker.
5472
5473 Update parseDataUrl() function in the libsoup http backend with
5474 the one from the curl backend which has recent correctness and crash
5475 fixes.
5476
5477 * platform/network/soup/ResourceHandleSoup.cpp:
5478 (WebCore::parseDataUrl):
5479
alp@webkit.org1ad9e722008-11-03 16:50:16 +000054802008-11-03 Holger Hans Peter Freyther <zecke@selfish.org>
5481
5482 Reviewed by Alp Toker.
5483
5484 https://bugs.webkit.org/show_bug.cgi?id=22041
5485 Fix CURL crashes on the test suite
5486
alp@webkit.orgc90968d2008-11-03 17:11:19 +00005487 Fix segfault with setDefersLoading(). Do not call into curl when we
5488 don't have a CURL handle.
5489
5490 It is attempted to defer the loading before the load has been
5491 started (no curl handle was allocated yet). If that happens then
5492 just remember that. ResourceHandleManager::startJob is already taking
5493 care of this and in initResourceHandle the the downloading will
5494 be paused if needed.
5495
5496 Fixes fast/loader/simultaneous-reloads-assert.html
5497
5498 * platform/network/curl/ResourceHandleCurl.cpp:
5499 (WebCore::ResourceHandle::setDefersLoading):
5500
55012008-11-03 Holger Hans Peter Freyther <zecke@selfish.org>
5502
5503 Reviewed by Alp Toker.
5504
5505 https://bugs.webkit.org/show_bug.cgi?id=22041
5506 Fix CURL crashes on the test suite
5507
alp@webkit.org1ad9e722008-11-03 16:50:16 +00005508 Do not send "no data" to WebCore in parseDataUrl().
5509
5510 Fixes assert on fast/tokenizer/image-empty-crash.html
5511
5512 * platform/network/curl/ResourceHandleManager.cpp:
5513 (WebCore::parseDataUrl):
5514
christian@webkit.orgfb968c62008-11-02 20:23:14 +000055152008-11-02 Xan Lopez <xan@gnome.org>
5516
5517 Reviewed by Holger Freyther.
5518
5519 https://bugs.webkit.org/show_bug.cgi?id=22009
5520 HTML5 Video with GStreamer pulls gnome-vfs without using it
5521
5522 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
5523 Remove gnome-vfs include.
5524
abarth@webkit.orga796cc02008-11-01 09:31:42 +000055252008-11-01 Adam Barth <abarth@webkit.org>
5526
5527 Reviewed by Sam Weinig.
5528
5529 Be sure to check the final URLs of requested resources to make sure we
5530 don't get fooled by HTTP redirects.
5531
5532 https://bugs.webkit.org/show_bug.cgi?id=21963
5533
5534 Tests: http/tests/security/xss-DENIED-xsl-document-redirect.xml
5535 http/tests/security/xss-DENIED-xsl-external-entity-redirect.xml
5536
5537 * dom/XMLTokenizerLibxml2.cpp:
5538 (WebCore::openFunc):
5539 * loader/DocLoader.cpp:
5540 (WebCore::DocLoader::canRequest):
5541 (WebCore::DocLoader::requestResource):
5542 * loader/DocLoader.h:
5543 * xml/XSLTProcessor.cpp:
5544 (WebCore::docLoaderFunc):
5545
ap@webkit.orgec7365b2008-11-01 07:21:53 +000055462008-11-01 Alexey Proskuryakov <ap@webkit.org>
5547
5548 Reviewed by Darin Adler.
5549
5550 https://bugs.webkit.org/show_bug.cgi?id=22001
5551 AtomicStringImpl* keys of event listener maps can outlive their strings
5552
5553 Test: fast/events/destroyed-atomic-string.html
5554
5555 * dom/MessagePort.cpp:
5556 (WebCore::MessagePort::addEventListener):
5557 (WebCore::MessagePort::removeEventListener):
5558 (WebCore::MessagePort::dispatchEvent):
5559 * dom/MessagePort.h:
5560 * loader/appcache/DOMApplicationCache.cpp:
5561 (WebCore::DOMApplicationCache::addEventListener):
5562 (WebCore::DOMApplicationCache::removeEventListener):
5563 (WebCore::DOMApplicationCache::dispatchEvent):
5564 * loader/appcache/DOMApplicationCache.h:
5565 * xml/XMLHttpRequest.cpp:
5566 (WebCore::XMLHttpRequest::addEventListener):
5567 (WebCore::XMLHttpRequest::removeEventListener):
5568 (WebCore::XMLHttpRequest::dispatchEvent):
5569 * xml/XMLHttpRequest.h:
5570 * xml/XMLHttpRequestUpload.cpp:
5571 (WebCore::XMLHttpRequestUpload::addEventListener):
5572 (WebCore::XMLHttpRequestUpload::removeEventListener):
5573 (WebCore::XMLHttpRequestUpload::dispatchEvent):
5574 * xml/XMLHttpRequestUpload.h:
5575 Changed EventListenersMap to use AtomicString as key (instead of AtomicStringImpl*).
5576
ap@webkit.orgf319b262008-11-01 07:11:09 +000055772008-10-31 Alexey Proskuryakov <ap@webkit.org>
5578
5579 Reviewed by Darin Adler.
5580
5581 https://bugs.webkit.org/show_bug.cgi?id=21998
5582 Use JSDOMGlobalObject in EventListener-related bindings
5583
5584 * dom/MessagePort.idl: Auto-generate bindings for onclose and onmessage.
5585
5586 * bindings/scripts/CodeGeneratorJS.pm: Use JSDOMGlobalObject instead of JSDOMWindow in JS
5587 bindings for inline event handlers.
5588
5589 * bindings/js/JSDOMApplicationCacheCustom.cpp:
5590 (WebCore::JSDOMApplicationCache::addEventListener):
5591 (WebCore::JSDOMApplicationCache::removeEventListener):
5592 * bindings/js/JSEventTargetNodeCustom.cpp:
5593 (WebCore::JSEventTargetNode::addEventListener):
5594 (WebCore::JSEventTargetNode::removeEventListener):
5595 * bindings/js/JSMessagePortCustom.cpp:
5596 (WebCore::JSMessagePort::removeEventListener):
5597 * bindings/js/JSSVGElementInstanceCustom.cpp:
5598 (WebCore::JSSVGElementInstance::addEventListener):
5599 (WebCore::JSSVGElementInstance::removeEventListener):
5600 * bindings/js/JSXMLHttpRequestCustom.cpp:
5601 (WebCore::JSXMLHttpRequest::addEventListener):
5602 (WebCore::JSXMLHttpRequest::removeEventListener):
5603 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
5604 (WebCore::JSXMLHttpRequestUpload::addEventListener):
5605 (WebCore::JSXMLHttpRequestUpload::removeEventListener):
5606 Use ScriptExecutionContext and JSDOMGlobalObject in bindings.
5607
5608 * dom/EventTarget.h:
5609 * dom/EventTargetNode.cpp:
5610 (WebCore::EventTargetNode::scriptExecutionContext):
5611 * dom/EventTargetNode.h:
5612 * dom/MessagePort.cpp:
5613 * dom/MessagePort.h:
5614 (WebCore::MessagePort::scriptExecutionContext):
5615 * loader/appcache/DOMApplicationCache.cpp:
5616 (WebCore::DOMApplicationCache::scriptExecutionContext):
5617 * loader/appcache/DOMApplicationCache.h:
5618 * svg/SVGElementInstance.cpp:
5619 (WebCore::SVGElementInstance::scriptExecutionContext):
5620 * svg/SVGElementInstance.h:
5621 * xml/XMLHttpRequest.cpp:
5622 (WebCore::XMLHttpRequest::scriptExecutionContext):
5623 * xml/XMLHttpRequest.h:
5624 * xml/XMLHttpRequestUpload.cpp:
5625 (WebCore::XMLHttpRequestUpload::scriptExecutionContext):
5626 * xml/XMLHttpRequestUpload.h:
5627 Remove associatedFrame() method, and provide scriptExecutionContext() where it wasn't
5628 available yet.
5629
cwzwarich@webkit.org7d328d52008-11-01 00:35:14 +000056302008-10-31 Cameron Zwarich <zwarich@apple.com>
5631
cwzwarich@webkit.org16e38912008-11-01 01:05:21 +00005632 Rubber-stamped by Geoff Garen.
5633
5634 Rename SourceRange.h to SourceCode.h.
5635
5636 * ForwardingHeaders/kjs/SourceCode.h: Copied from ForwardingHeaders/kjs/SourceRange.h.
5637 * ForwardingHeaders/kjs/SourceRange.h: Removed.
5638 * bindings/js/StringSourceProvider.h:
5639 * bridge/NP_jsobject.cpp:
5640
56412008-10-31 Cameron Zwarich <zwarich@apple.com>
5642
cwzwarich@webkit.org7d328d52008-11-01 00:35:14 +00005643 Reviewed by Darin Adler.
5644
5645 Bug 22019: Move JSC::Interpreter::shouldPrintExceptions() to WebCore::Console
5646 <https://bugs.webkit.org/show_bug.cgi?id=22019>
5647
5648 * WebCore.base.exp:
5649 * page/Console.cpp:
5650 (WebCore::printToStandardOut):
5651 (WebCore::Console::shouldPrintExceptions):
5652 (WebCore::Console::setShouldPrintExceptions):
5653 * page/Console.h:
5654
mitz@apple.comb7f88482008-10-31 23:35:00 +000056552008-10-31 Dan Bernstein <mitz@apple.com>
5656
5657 Reviewed by John Sullivan.
5658
5659 - WebCore part of <rdar://problem/6334641> Add WebView SPI for disabling document.cookie
5660
5661 * dom/Document.cpp:
5662 (WebCore::Document::cookie): Added checking if cookies are disabled.
5663 (WebCore::Document::setCookie): Ditto.
5664 * page/Navigator.cpp:
5665 (WebCore::Navigator::cookieEnabled): Ditto.
5666 * page/Page.cpp:
5667 (WebCore::Page::Page): Initialize m_cookieEnabled to true.
5668 * page/Page.h:
5669 (WebCore::Page::cookieEnabled): Added.
5670 (WebCore::Page::setCookieEnabled): Added.
5671
adele@apple.comae80b362008-10-31 23:25:48 +000056722008-10-31 Adele Peterson <adele@apple.com>
5673
5674 Reviewed by Darin Adler.
5675
5676 WebCore Windows part of fix for <rdar://problem/5839256> FILE CONTROL: multi-file upload.
5677 https://bugs.webkit.org/show_bug.cgi?id=22008
5678
5679 * platform/FileChooser.cpp: (WebCore::FileChooser::chooseIcon):
5680 Rename newIconForFile and newIconForFiles to createIconForFile and createIconForFiles.
5681 * platform/graphics/Icon.h: ditto.
5682 * platform/graphics/gtk/IconGtk.cpp:
5683 (WebCore::Icon::createIconForFile): ditto.
5684 (WebCore::Icon::createIconForFiles): ditto.
5685 * platform/graphics/mac/IconMac.mm:
5686 (WebCore::Icon::createIconForFile): ditto.
5687 (WebCore::Icon::createIconForFiles): ditto.
5688 * platform/graphics/qt/IconQt.cpp:
5689 (WebCore::Icon::createIconForFile): ditto.
5690 (WebCore::Icon::createIconForFiles): ditto.
5691 * platform/wx/TemporaryLinkStubs.cpp:
5692 (Icon::createIconForFile): ditto.
5693 (Icon::createIconForFiles): ditto.
5694 * platform/graphics/win/IconWin.cpp:
5695 (WebCore::Icon::createIconForFile): ditto.
5696 (WebCore::Icon::createIconForFiles): Add creation of an icon for multiple files.
5697
5698 * rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
5699 Improve icon creation code to match new code in Icon::createIconForFiles
5700
timothy@apple.comfae10182008-10-31 18:49:52 +000057012008-10-31 Timothy Hatcher <timothy@apple.com>
5702
5703 Add manual tests that check breakpoints on a blockless body of "for" loops.
5704
5705 https://bugs.webkit.org/show_bug.cgi?id=22004
5706
5707 Reviewed by Darin Adler.
5708
5709 * manual-tests/inspector/debugger-pause-on-for-in-statements.html: Added.
5710 * manual-tests/inspector/debugger-pause-on-for-statements.html: Added.
5711
darin@apple.com61934912008-10-31 18:45:19 +000057122008-10-31 Darin Adler <darin@apple.com>
5713
5714 - fix build
5715
5716 * platform/win/WCDataObject.cpp: Added missing include of "config.h".
5717
ap@webkit.orgbe35d512008-10-31 09:44:03 +000057182008-10-30 Alexey Proskuryakov <ap@webkit.org>
5719
5720 Reviewed by Darin Adler.
5721
5722 https://bugs.webkit.org/show_bug.cgi?id=21970
5723 Make MessagePort event dispatch work in workers
5724
5725 * bindings/js/JSDOMGlobalObject.cpp:
5726 (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
5727 (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject):
5728 (WebCore::JSDOMGlobalObject::findJSEventListener):
5729 (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
5730 (WebCore::JSDOMGlobalObject::findJSUnprotectedEventListener):
5731 (WebCore::JSDOMGlobalObject::findOrCreateJSUnprotectedEventListener):
5732 (WebCore::JSDOMGlobalObject::jsEventListeners):
5733 (WebCore::JSDOMGlobalObject::jsInlineEventListeners):
5734 (WebCore::JSDOMGlobalObject::jsUnprotectedEventListeners):
5735 (WebCore::JSDOMGlobalObject::jsUnprotectedInlineEventListeners):
5736 (WebCore::JSDOMGlobalObject::setCurrentEvent):
5737 (WebCore::JSDOMGlobalObject::currentEvent):
5738 (WebCore::toJSDOMGlobalObject):
5739 * bindings/js/JSDOMGlobalObject.h:
5740 * bindings/js/JSDOMWindowBase.cpp:
5741 (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
5742 (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
5743 (WebCore::JSDOMWindowBase::clearHelperObjectProperties):
5744 * bindings/js/JSDOMWindowBase.h:
5745 Moved event listener tracking from JSDOMWindow to JSDOMGlobalObject.
5746
5747 * bindings/js/JSEventListener.cpp:
5748 (WebCore::JSAbstractEventListener::handleEvent):
5749 (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
5750 (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
5751 (WebCore::JSUnprotectedEventListener::globalObject):
5752 (WebCore::JSUnprotectedEventListener::clearGlobalObject):
5753 (WebCore::JSEventListener::JSEventListener):
5754 (WebCore::JSEventListener::~JSEventListener):
5755 (WebCore::JSEventListener::globalObject):
5756 (WebCore::JSEventListener::clearGlobalObject):
5757 (WebCore::JSLazyEventListener::JSLazyEventListener):
5758 (WebCore::JSLazyEventListener::parseCode):
5759 * bindings/js/JSEventListener.h:
5760 (WebCore::JSUnprotectedEventListener::create):
5761 (WebCore::JSEventListener::create):
5762 (WebCore::JSLazyEventListener::create):
5763 Changed to use JSDOMGlobalObject and ScriptExecutionContext.
5764
5765 * bindings/js/JSMessagePortCustom.cpp:
5766 (WebCore::JSMessagePort::startConversation):
5767 (WebCore::JSMessagePort::addEventListener):
5768 (WebCore::JSMessagePort::removeEventListener):
5769 (WebCore::JSMessagePort::setOnmessage):
5770 (WebCore::JSMessagePort::setOnclose):
5771 Updated bindings to work with JSDOMGlobalObject. Next step is to make code generator emit
5772 such code, and stop using a custom implementation for JSMessagePort inline event handler
5773 getters and setters.
5774
5775 * dom/Document.cpp:
5776 (WebCore::Document::virtualURL):
5777 * dom/Document.h:
5778 * dom/ScriptExecutionContext.h:
5779 Expose url() method on ScriptExecutionContext (necessary for compiling scripts in
5780 JSLazyEventListener).
5781
cwzwarich@webkit.orgefc1b112008-10-31 08:18:20 +000057822008-10-31 Cameron Zwarich <zwarich@apple.com>
5783
5784 Not reviewed.
5785
5786 Speculative wxWindows build fix.
5787
5788 * webcore-base.bkl:
5789
mrowe@apple.com222bc732008-10-31 06:13:07 +000057902008-10-30 Mark Rowe <mrowe@apple.com>
5791
5792 Reviewed by Jon Homeycutt.
5793
5794 Explicitly default to building for only the native architecture in debug and release builds.
5795
5796 * Configurations/DebugRelease.xcconfig:
5797
cwzwarich@webkit.orga691b5a2008-10-31 05:56:58 +000057982008-10-30 Cameron Zwarich <zwarich@apple.com>
5799
5800 Rubber-stamped by Sam Weinig.
5801
5802 Create a debugger directory in JavaScriptCore and move the relevant
5803 files to it.
5804
5805 * ForwardingHeaders/debugger: Added.
5806 * ForwardingHeaders/debugger/Debugger.h: Copied from ForwardingHeaders/kjs/debugger.h.
5807 * ForwardingHeaders/debugger/DebuggerCallFrame.h: Copied from ForwardingHeaders/kjs/DebuggerCallFrame.h.
5808 * ForwardingHeaders/kjs/DebuggerCallFrame.h: Removed.
5809 * ForwardingHeaders/kjs/debugger.h: Removed.
5810 * WebCore.pro:
5811 * bindings/js/ScriptController.cpp:
5812 * inspector/JavaScriptCallFrame.cpp:
5813 * inspector/JavaScriptCallFrame.h:
5814 * inspector/JavaScriptDebugServer.cpp:
5815 * inspector/JavaScriptDebugServer.h:
5816
timothy@apple.com4ab9f652008-10-31 05:49:22 +000058172008-10-30 Tony Chang <tony@chromium.org>
5818
5819 Fix 2 Windows theme bugs:
5820 1) Checkboxes marked readonly were rendered incorrectly
5821 2) If a button has focus and is pressed, it was rendered
5822 as focused rather than pressed.
5823
5824 https://bugs.webkit.org/show_bug.cgi?id=21859
5825
5826 Reviewed by Dave Hyatt.
5827
5828 * rendering/RenderThemeWin.cpp:
5829 (WebCore::RenderThemeWin::determineState):
5830 (WebCore::RenderThemeWin::determineButtonState):
5831
timothy@apple.come95b7572008-10-31 05:36:06 +000058322008-10-30 Benjamin K. Stuhl <bks24@cornell.edu>
5833
5834 gcc 4.3.3/linux-x86 generates "suggest parentheses around && within ||"
5835 warnings; add some parentheses to disambiguate things. No functional
5836 changes, so no tests.
5837
5838 https://bugs.webkit.org/show_bug.cgi?id=21973
5839 Add parentheses to clean up some gcc warnings
5840
5841 Reviewed by Dan Bernstein.
5842
5843 * platform/graphics/Font.h:
5844 (WebCore::Font::treatAsZeroWidthSpace):
5845
timothy@apple.comef646322008-10-31 05:29:01 +000058462008-10-30 Aaron Boodman <aa@chromium.org>
5847
5848 Added an explicit dependency on HashMap.h. It was getting pulled in via
5849 <kjs/identifier.h> in the case of JSC, causing errors for the Chromium port.
5850
5851 Reviewed by Darin Adler.
5852
5853 * platform/text/PlatformString.h:
5854
ddkilzer@apple.com14d66632008-10-31 01:54:49 +000058552008-10-30 Greg Bolsinga <bolsinga@apple.com>
5856
5857 Reviewed by Sam Weinig
5858
ddkilzer@apple.com52840822008-10-31 01:56:43 +00005859 https://bugs.webkit.org/show_bug.cgi?id=21967
5860
5861 For some platforms the GeolocationService must be suspended and resumed.
5862
5863 * page/Geolocation.cpp:
5864 (WebCore::Geolocation::clearWatch): now uses Geolocation::hasListeners()
5865 (WebCore::Geolocation::suspend): calls GeolocationService::suspend() if there are listeners
5866 (WebCore::Geolocation::resume): calls GeolocationService::resume() if there are listeners
5867 (WebCore::Geolocation::geolocationServicePositionChanged): now uses Geolocation::hasListeners()
5868 * page/Geolocation.h:
5869 (WebCore::Geolocation::hasListeners): Indicates of the Geolocation has interested GeolocationService listeners
5870 * platform/GeolocationService.h:
5871 (WebCore::GeolocationService::suspend): empty implementation
5872 (WebCore::GeolocationService::resume): empty implementation
5873
58742008-10-30 Greg Bolsinga <bolsinga@apple.com>
5875
5876 Reviewed by Sam Weinig
5877
ddkilzer@apple.com14d66632008-10-31 01:54:49 +00005878 https://bugs.webkit.org/show_bug.cgi?id=21966
5879
5880 The Geolocation spec was updated on 10/27/2008. This brings WebCore up to date.
5881 http://dev.w3.org/geo/api/spec-source.html
5882
5883 * page/Geolocation.cpp:
5884 (WebCore::Geolocation::GeoNotifier::GeoNotifier): PositionOptions' timeout now unsigned
5885 * page/Geoposition.cpp: velocity is now called speed
5886 (WebCore::Geoposition::toString):
5887 * page/Geoposition.h: velocity is now called speed
5888 (WebCore::Geoposition::create):
5889 (WebCore::Geoposition::speed):
5890 (WebCore::Geoposition::Geoposition):
5891 * page/Geoposition.idl: velocity is now called speed
5892 * page/PositionOptions.h: timeout is now unsigned
5893 (WebCore::PositionOptions::create):
5894 (WebCore::PositionOptions::timeout):
5895 (WebCore::PositionOptions::setTimeout):
5896 (WebCore::PositionOptions::PositionOptions):
5897 * page/PositionOptions.idl: timeout is now unsigned long
5898
justin.garcia@apple.com8c6832c2008-10-30 23:46:31 +000058992008-10-30 Justin Garcia <justin.garcia@apple.com>
5900
justin.garcia@apple.com484cb6b2008-10-31 00:11:48 +00005901 Also handle preserved newlines.
5902
5903 * editing/BreakBlockquoteCommand.cpp:
5904 (WebCore::BreakBlockquoteCommand::doApply):
5905
59062008-10-30 Justin Garcia <justin.garcia@apple.com>
5907
justin.garcia@apple.com8c6832c2008-10-30 23:46:31 +00005908 Reviewed by Beth Dakin.
5909
5910 <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line
5911
5912 * editing/BreakBlockquoteCommand.cpp:
5913 (WebCore::BreakBlockquoteCommand::doApply):
5914 Don't store the endingSelection() in selection, just call endingSelection() in the few places it's
5915 needed. This function is cheap since it just returns a reference to a Selection instead of creating one.
5916 Don't store an affinity. In the one place that it was used, isLastVisiblePositionInNode(VisiblePosition(pos, affinity), topBlockquote),
5917 we now use visiblePos (in order to avoid VisiblePosition creation).
5918 Set pos after we delete the current selection (if there is one), and be consistent about what we set
5919 pos to. Before, we upstream()ed it if there was a selection to delete and left it alone otherwise. In fact...
5920 ...we need to use downstream() for pos so that when a caret is at the boundary between two nodes, pos is
5921 in the first node that we want to move. This fixes the bug, since it lets code that checks for the case
5922 where the caret is between text and a br work correctly.
5923
vestbo@webkit.orgd8876f12008-10-30 20:45:52 +000059242008-10-30 Yael Aharon <yael.aharon@nokia.com>
5925
5926 Reviewed by Darin Adler.
5927
5928 Fix the Qt build.
5929
5930 https://bugs.webkit.org/show_bug.cgi?id=21969
5931
5932 * inspector/front-end/WebKit.qrc:
5933 * platform/graphics/qt/ImageBufferQt.cpp:
5934 (WebCore::ImageBufferData::ImageBufferData):
5935 (WebCore::ImageBuffer::ImageBuffer):
5936 (WebCore::ImageBuffer::context):
5937 (WebCore::ImageBuffer::image):
5938 (WebCore::ImageBuffer::toDataURL):
5939
darin@apple.comf9f4f9a2008-10-30 20:52:02 +000059402008-10-30 Justin Garcia <justin.garcia@apple.com>
5941
5942 Reviewed by Darin Adler.
5943
5944 More preparation for:
5945 <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line
5946
5947 * editing/BreakBlockquoteCommand.cpp:
5948 (WebCore::BreakBlockquoteCommand::doApply): Added comments. Don't need to use newStartNode. If the
5949 startNode needs to change, change it. Afterwords, check to make sure that it hasn't left topBlockquote.
5950 This is slightly stricter than before, where we just made sure that it still had a topBlockquote. This
5951 doesn't really fix a bug, since we can't really get into a situation where we move to a different
5952 topBlockquote, but it simplifies the code.
5953
alp@webkit.org3d557522008-10-30 14:09:59 +000059542008-10-30 Dirk Schulze <vbs85@gmx.de>
5955
5956 Reviewed by Alp Toker.
5957
5958 https://bugs.webkit.org/show_bug.cgi?id=21883
5959 [CAIRO] globalAlpha has to be stored and restored
5960
5961 Cairo's globalAlpha has to be stored and reloaded on calling
5962 save() and restore(). We use the power of GraphicsContextState for this.
5963
5964 * platform/graphics/GraphicsContextPrivate.h:
5965 (WebCore::GraphicsContextState::GraphicsContextState):
5966 * platform/graphics/cairo/GraphicsContextCairo.cpp:
5967 (WebCore::GraphicsContext::fillPath):
5968 (WebCore::GraphicsContext::strokePath):
5969 (WebCore::GraphicsContext::setAlpha):
5970 (WebCore::GraphicsContext::getAlpha):
5971 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
5972 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
5973
ap@webkit.org771c2652008-10-30 08:41:34 +000059742008-10-29 Alexey Proskuryakov <ap@webkit.org>
5975
5976 Reviewed by Maciej Stachowiak.
5977
5978 Rename "attachedToEventTargetNode" to "isInline".
5979
5980 Inline (onXXX) attributes are used not just with event target nodes, but also with Window,
5981 XMLHttpRequest, MessagePort et al.
5982
5983 Also renamed createHTMLEventHandler() (which was a leftover from earlier isHTMLEvent ->
5984 attachedToEventTargetNode rename made for SVG) to createInlineEventListener().
5985 And also renamed EventTargetNode, Document and Window "eventListenerForType" methods to
5986 "inlineEventListenerForType", as they work with inline listeners.
5987
5988 * bindings/js/JSDOMApplicationCacheCustom.cpp:
5989 (WebCore::JSDOMApplicationCache::addEventListener):
5990 (WebCore::JSDOMApplicationCache::removeEventListener):
5991 * bindings/js/JSMessagePortCustom.cpp:
5992 (WebCore::JSMessagePort::setOnmessage):
5993 (WebCore::JSMessagePort::setOnclose):
5994 * bindings/js/JSXMLHttpRequestCustom.cpp:
5995 (WebCore::JSXMLHttpRequest::addEventListener):
5996 (WebCore::JSXMLHttpRequest::removeEventListener):
5997 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
5998 (WebCore::JSXMLHttpRequestUpload::addEventListener):
5999 (WebCore::JSXMLHttpRequestUpload::removeEventListener):
6000 Pass a correct value for this argument - callers used to be confused, because they didn't
6001 consider themselves event target nodes. This doesn't affect behavior however, as the only
6002 difference between inline and non-inline event handlers is that the former treat
6003 "return false" as "event.preventDefault()", which is not important to any of these objects.
6004
6005 * bindings/js/JSEventListener.cpp: (WebCore::JSLazyEventListener::parseCode):
6006 Assert that isInline is true instead of checking its value, as the constructor of this class
6007 always sets it to true.
6008
6009 * bindings/js/JSDOMWindowBase.cpp:
6010 (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
6011 (WebCore::JSDOMWindowBase::findJSEventListener):
6012 (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
6013 (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
6014 (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
6015 (WebCore::JSDOMWindowBase::jsInlineEventListeners):
6016 (WebCore::JSDOMWindowBase::jsUnprotectedInlineEventListeners):
6017 * bindings/js/JSDOMWindowBase.h:
6018 * bindings/js/JSEventListener.cpp:
6019 (WebCore::JSAbstractEventListener::handleEvent):
6020 (WebCore::JSAbstractEventListener::isInline):
6021 (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
6022 (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
6023 (WebCore::JSEventListener::JSEventListener):
6024 (WebCore::JSEventListener::~JSEventListener):
6025 (WebCore::JSLazyEventListener::parseCode):
6026 * bindings/js/JSEventListener.h:
6027 (WebCore::JSAbstractEventListener::JSAbstractEventListener):
6028 (WebCore::JSUnprotectedEventListener::create):
6029 (WebCore::JSEventListener::create):
6030 * bindings/js/ScriptController.cpp:
6031 (WebCore::ScriptController::createInlineEventHandler):
6032 * bindings/js/ScriptController.h:
6033 * dom/Document.cpp:
6034 (WebCore::Document::setWindowInlineEventListenerForType):
6035 (WebCore::Document::windowInlineEventListenerForType):
6036 (WebCore::Document::removeWindowInlineEventListenerForType):
6037 (WebCore::Document::createEventListener):
6038 (WebCore::Document::setWindowInlineEventListenerForTypeAndAttribute):
6039 * dom/Document.h:
6040 * dom/EventListener.h:
6041 (WebCore::EventListener::isInline):
6042 * dom/EventTargetNode.cpp:
6043 (WebCore::EventTargetNode::removeInlineEventListenerForType):
6044 (WebCore::EventTargetNode::setInlineEventListenerForType):
6045 (WebCore::EventTargetNode::setInlineEventListenerForTypeAndAttribute):
6046 (WebCore::EventTargetNode::inlineEventListenerForType):
6047 (WebCore::EventTargetNode::on*): (many methods)
6048 (WebCore::EventTargetNode::setOn*): (many methods)
6049 * dom/EventTargetNode.h:
6050 * editing/ReplaceSelectionCommand.cpp:
6051 (WebCore::ReplacementFragment::ReplacementFragment):
6052 * html/HTMLBodyElement.cpp:
6053 (WebCore::HTMLBodyElement::parseMappedAttribute):
6054 * html/HTMLButtonElement.cpp:
6055 (WebCore::HTMLButtonElement::parseMappedAttribute):
6056 * html/HTMLElement.cpp:
6057 (WebCore::HTMLElement::parseMappedAttribute):
6058 * html/HTMLFormElement.cpp:
6059 (WebCore::HTMLFormElement::parseMappedAttribute):
6060 * html/HTMLFrameElementBase.cpp:
6061 (WebCore::HTMLFrameElementBase::parseMappedAttribute):
6062 * html/HTMLFrameSetElement.cpp:
6063 (WebCore::HTMLFrameSetElement::parseMappedAttribute):
6064 * html/HTMLImageElement.cpp:
6065 (WebCore::HTMLImageElement::parseMappedAttribute):
6066 * html/HTMLInputElement.cpp:
6067 (WebCore::HTMLInputElement::parseMappedAttribute):
6068 * html/HTMLObjectElement.cpp:
6069 (WebCore::HTMLObjectElement::parseMappedAttribute):
6070 * html/HTMLScriptElement.cpp:
6071 (WebCore::HTMLScriptElement::parseMappedAttribute):
6072 * html/HTMLSelectElement.cpp:
6073 (WebCore::HTMLSelectElement::parseMappedAttribute):
6074 * html/HTMLTextAreaElement.cpp:
6075 (WebCore::HTMLTextAreaElement::parseMappedAttribute):
6076 * page/AccessibilityRenderObject.cpp:
6077 (WebCore::AccessibilityRenderObject::mouseButtonListener):
6078 * page/DOMWindow.cpp:
6079 (WebCore::DOMWindow::setInlineEventListenerForType):
6080 (WebCore::DOMWindow::inlineEventListenerForType):
6081 (WebCore::DOMWindow::on*): (many methods)
6082 (WebCore::DOMWindow::setOn*): (many methods)
6083 * page/DOMWindow.h:
6084 * svg/SVGElement.cpp:
6085 (WebCore::SVGElement::parseMappedAttribute):
6086 * svg/SVGElementInstance.cpp:
6087 (WebCore::SVGElementInstance::on*): (many methods)
6088 (WebCore::SVGElementInstance::setOn*): (many methods)
6089 * svg/SVGSVGElement.cpp:
6090 (WebCore::SVGSVGElement::parseMappedAttribute):
6091 Rename things, as described above.
6092
zecke@webkit.orgbcca41d2008-10-29 22:39:18 +000060932008-10-29 Gustavo Noronha Silva <gns@gnome.org>
6094
6095 Reviewed and slightly changed by Holger Freyther.
6096
6097 Added all the files that need to be installed for the Inspector to
6098 work.
6099
6100 * GNUmakefile.am: Invoke the shell to get the files.
6101
darin@chromium.orgde675412008-10-29 21:45:02 +000061022008-10-29 Andrew Scherkus <scherkus@chromium.org>
6103
6104 Reviewed by Darin Adler
6105
6106 Add MediaPlayerPrivateChromium to MediaPlayer
6107 https://bugs.webkit.org/show_bug.cgi?id=21930
6108
6109 * platform/graphics/MediaPlayer.cpp:
6110
justin.garcia@apple.com8cba38d2008-10-29 21:43:47 +000061112008-10-29 Justin Garcia <justin.garcia@apple.com>
6112
6113 Reviewed by Darin Adler.
6114
6115 Some preparation for:
6116 <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line
6117
6118 Added an early return to avoid a level of if-nesting. No other changes. We probably don't
6119 need to rebalance whitespace before the early return but for now don't risk any change in behavior
6120 I'll revisit that later.
6121
6122 * editing/BreakBlockquoteCommand.cpp:
6123 (WebCore::BreakBlockquoteCommand::doApply):
6124
kevino@webkit.orgce2e48a2008-10-29 20:13:27 +000061252008-10-29 Kevin Ollivier <kevino@theolliviers.com>
6126
6127 wx build fixes after addition of runtime and ImageBuffer changes.
6128
6129 * platform/graphics/wx/ImageBufferData.h: Added.
6130 * platform/graphics/wx/ImageBufferWx.cpp:
6131 (WebCore::ImageBufferData::ImageBufferData):
6132 (WebCore::ImageBuffer::ImageBuffer):
6133 (WebCore::ImageBuffer::context):
6134 * webcore-base.bkl:
6135
brettw@chromium.org95ee6812008-10-29 16:38:52 +000061362008-10-29 Brett Wilson <brettw@chromium.org>
6137
6138 Reviewed by Darin Adler
6139 https://bugs.webkit.org/attachment.cgi?id=24745
6140
6141 Allow Skia implementations to get text style changed notifications.
6142
6143 * platform/graphics/GraphicsContext.cpp:
6144
timothy@apple.comdbc138a2008-10-29 15:02:31 +000061452008-10-29 Timothy Hatcher <timothy@apple.com>
6146
6147 Add a manual test that checks breakpoints on a blockless body of
6148 an "else" statement.
6149
6150 https://bugs.webkit.org/show_bug.cgi?id=21944
6151
6152 Reviewed by Maciej Stachowiak.
6153
6154 * manual-tests/inspector/debugger-pause-on-else-statements.html: Added.
6155
ap@webkit.orgc78a2072008-10-29 10:35:26 +000061562008-10-29 Alexey Proskuryakov <ap@webkit.org>
6157
ap@webkit.org7c52f882008-10-29 10:44:22 +00006158 Reviewed by Darin Adler.
6159
6160 https://bugs.webkit.org/show_bug.cgi?id=21921
6161 MessagePort messages are dispatched to documents that are not fully active
6162
6163 Covered by corrected fast/events/message-port-inactive-document.html
6164
6165 * bindings/js/JSEventListener.cpp:
6166 (WebCore::JSAbstractEventListener::handleEvent): Don't dispatch messages to contexts
6167 that are not fully active.
6168
61692008-10-29 Alexey Proskuryakov <ap@webkit.org>
6170
ap@webkit.org6b4b6872008-10-29 10:37:26 +00006171 Reviewed by Sam Weinig.
6172
6173 https://bugs.webkit.org/show_bug.cgi?id=21922
6174 Expose MessagePort global constructor
6175
6176 Covered by existing dumper tests.
6177
6178 * dom/MessagePort.idl:
6179 * page/DOMWindow.idl:
6180
61812008-10-29 Alexey Proskuryakov <ap@webkit.org>
6182
ap@webkit.orgc78a2072008-10-29 10:35:26 +00006183 Reviewed by Darin Adler.
6184
6185 https://bugs.webkit.org/show_bug.cgi?id=21924
6186 HashTable internal index is not always deleted
6187
6188 * bindings/js/JSDOMBinding.cpp: (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap):
6189 Call deleteTable for HashTables that are being deleted.
6190
ap@webkit.org3c120a82008-10-29 10:26:58 +000061912008-10-28 Alexey Proskuryakov <ap@webkit.org>
6192
6193 Reviewed by Darin Adler.
6194
6195 https://bugs.webkit.org/show_bug.cgi?id=21923
6196 Create an abstraction for script execution context
6197
6198 * GNUmakefile.am:
6199 * WebCore.pro:
6200 * WebCore.vcproj/WebCore.vcproj:
6201 * WebCore.xcodeproj/project.pbxproj:
6202 * WebCoreSources.bkl:
6203 Added ScriptExecutionContext.{h,cpp}.
6204
6205 * bindings/js/JSAudioConstructor.cpp:
6206 (WebCore::JSAudioConstructor::JSAudioConstructor):
6207 * bindings/js/JSAudioConstructor.h:
6208 * bindings/js/JSImageConstructor.cpp:
6209 (WebCore::JSImageConstructor::JSImageConstructor):
6210 * bindings/js/JSImageConstructor.h:
6211 * bindings/js/JSOptionConstructor.cpp:
6212 (WebCore::JSOptionConstructor::JSOptionConstructor):
6213 * bindings/js/JSOptionConstructor.h:
6214 * bindings/js/JSXMLHttpRequestConstructor.cpp:
6215 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
6216 * bindings/js/JSXMLHttpRequestConstructor.h:
6217 Pass ScriptExecutionContext instead of Document to make getDOMConstructor() happy.
6218 Since these objects can only work within documents now, it is immediately converted back
6219 to Document.
6220
6221 * bindings/js/JSMessageChannelConstructor.cpp:
6222 (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
6223 (WebCore::JSMessageChannelConstructor::construct):
6224 * bindings/js/JSMessageChannelConstructor.h:
6225 (WebCore::JSMessageChannelConstructor::scriptExecutionContext):
6226 MessageChannel needs to be supported in workers right away, so the constructor operates with
6227 it directly.
6228
6229 * dom/ActiveDOMObject.cpp:
6230 (WebCore::ActiveDOMObject::ActiveDOMObject):
6231 (WebCore::ActiveDOMObject::~ActiveDOMObject):
6232 (WebCore::ActiveDOMObject::contextDestroyed):
6233 * dom/ActiveDOMObject.h:
6234 (WebCore::ActiveDOMObject::scriptExecutionContext):
6235 * bindings/js/JSDOMBinding.cpp:
6236 (WebCore::markActiveObjectsForContext):
6237 (WebCore::markCrossHeapDependentObjectsForContext):
6238 Use ScriptExecutionContext instead of Document, now that ActiveDOMObject and MessagePort
6239 tracking is handled by ScriptExecutionContext.
6240
6241 * bindings/js/JSDOMBinding.h: (WebCore::getDOMPrototype): Moved to JSDOMGlobalObject.
6242
6243 * bindings/js/JSDOMGlobalObject.h:
6244 (WebCore::getDOMConstructor): Moved to this file, as constructors live in JSDOMGlobalObject.
6245 Also, the two-argument version that used to be in JSDOMWindowBase.cpp need to be accessible
6246 to worker context implementation.
6247 (WebCore::scriptExecutionContext): Added a pure virtual method to access
6248 ScriptExecutionContext, implemented by subclasses.
6249
6250 * bindings/js/JSDOMWindowBase.h:
6251 * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::scriptExecutionContext):
6252 Implement by returning the associated document. Note that this method currently gives bogus
6253 results after navigation - DOMWindow Frame reference is not zeroed out, so we get a document
6254 that is currently in the frame, not the one associated with this window.
6255
6256 * bindings/js/JSDedicatedWorkerConstructor.cpp: Removed unnecessary include of DOMWindow.h.
6257
6258 * bindings/js/JSDocumentCustom.cpp: (WebCore::JSDocument::mark):
6259 Call markActiveObjectsForContext() by its new name.
6260
6261 * dom/DedicatedWorker.cpp:
6262 (WebCore::DedicatedWorker::DedicatedWorker):
6263 (WebCore::DedicatedWorker::document):
6264 * dom/DedicatedWorker.h:
6265 * xml/XMLHttpRequest.cpp:
6266 (WebCore::XMLHttpRequest::document):
6267 * xml/XMLHttpRequest.h:
6268 Added a document() function that upcasts ScriptExecutionContext, as these objects only work
6269 within documents currently (at least for XMLHttpRequest, this will change soon though).
6270
6271 * dom/Document.cpp:
6272 (WebCore::Document::Document):
6273 (WebCore::Document::~Document):
6274 Moved active object and MessagePort tracking up to ScriptExecutionContext, to share code
6275 with workers.
6276
6277 * dom/Document.h:
6278 (WebCore::Document::isDocument):
6279 (WebCore::Document::refScriptExecutionContext):
6280 (WebCore::Document::derefScriptExecutionContext):
6281 Inherit from ScriptExecutionContext.
6282
6283 * dom/MessageChannel.cpp:
6284 (WebCore::MessageChannel::MessageChannel):
6285 * dom/MessageChannel.h:
6286 (WebCore::MessageChannel::create):
6287 Use ScriptExecutionContext instead of Document.
6288
6289 * dom/MessagePort.cpp:
6290 (WebCore::CloseMessagePortTimer::CloseMessagePortTimer): Make m_port a RefPtr, because
6291 MessagePort doesn't ref() itself when posting this event any more (this is a fix for an
6292 unrelated issue that was causing random crashes in layout tests).
6293 (WebCore::MessagePort::MessagePort):
6294 (WebCore::MessagePort::~MessagePort):
6295 (WebCore::MessagePort::associatedFrame):
6296 (WebCore::MessagePort::clone):
6297 (WebCore::MessagePort::postMessage):
6298 (WebCore::MessagePort::startConversation):
6299 (WebCore::MessagePort::start):
6300 (WebCore::MessagePort::contextDestroyed):
6301 (WebCore::MessagePort::dispatchMessages):
6302 * dom/MessagePort.h:
6303 (WebCore::MessagePort::create):
6304 (WebCore::MessagePort::scriptExecutionContext):
6305 Use ScriptExecutionContext instead of Document. This is a step toward making MessagePort
6306 work in worker contexts - we need to also make some its method thread safe for cross-thread
6307 messaging, and make event dispatching thread safe.
6308
6309 * dom/ScriptExecutionContext.cpp: Added.
6310 * dom/ScriptExecutionContext.h: Added.
6311 ActiveDOMObject and MessagePort tracking is moved from Document.
6312 It is debatable whether ScriptExecutionContext should be a parent of Document or DOMWindow,
6313 but as I'm just moving Document code, and it is Document that is the main context object
6314 in our implementation currently.
6315 Changing ScriptExecutionContext to be a parent of DOMWindow causes a number of bugs that
6316 seem non-trivial to fix, and isn't really a part of this task.
6317
alp@webkit.orge27cab82008-10-29 03:20:15 +000063182008-10-28 Alp Toker <alp@nuanti.com>
6319
alp@webkit.orgb206e942008-10-29 05:22:20 +00006320 List newly-added ImageBufferData.h in build system.
6321
6322 * GNUmakefile.am:
6323
63242008-10-28 Alp Toker <alp@nuanti.com>
6325
alp@webkit.orge27cab82008-10-29 03:20:15 +00006326 Reviewed by Cameron Zwarich.
6327
6328 De-list unused WebCore ForwardingHeaders to fix the dist target.
6329
6330 * GNUmakefile.am:
6331
cwzwarich@webkit.org7eb0cf92008-10-29 02:41:47 +000063322008-10-28 Cameron Zwarich <zwarich@apple.com>
6333
6334 Not reviewed.
6335
6336 Attempt to fix the Windows build by generating Forwardingheaders for the
6337 runtime directory in JavaScriptCore.
6338
6339 * WebCore.vcproj/WebCore.vcproj:
6340
justin.garcia@apple.com28768642008-10-29 02:07:18 +000063412008-10-28 Justin Garcia <justin.garcia@apple.com>
6342
6343 Reviewed by Darin Adler.
6344
6345 <rdar://problem/5188560> REGRESSION: Spell checker doesn't clear spelling/grammar marker after error is marked as Ignored
6346
6347 * editing/Editor.cpp:
6348 (WebCore::Editor::ignoreSpelling): Remove misspelling markers from the word.
6349 (WebCore::Editor::learnSpelling): Added a FIXME about <rdar://problem/5396072>, which
6350 will probably require a change more complicated than just marking the learned word as
6351 misspelled. I'll address it with a separate patch.
6352 * editing/EditorCommand.cpp:
6353 (WebCore::executeIgnoreSpelling): Added.
6354 (WebCore::CommandEntry::): Added an entry for IgnoreSpelling.
6355
cwzwarich@webkit.orgba054bb2008-10-29 01:54:00 +000063562008-10-28 Cameron Zwarich <zwarich@apple.com>
6357
6358 Reviewed by Mark Rowe.
6359
6360 Move ForwardingHeaders to their correct location after the creation of
6361 the runtime directory in JavaScriptCore.
6362
6363 * ForwardingHeaders/kjs/ArrayPrototype.h: Removed.
6364 * ForwardingHeaders/kjs/BooleanObject.h: Removed.
6365 * ForwardingHeaders/kjs/CallData.h: Removed.
6366 * ForwardingHeaders/kjs/ConstructData.h: Removed.
6367 * ForwardingHeaders/kjs/DateInstance.h: Removed.
6368 * ForwardingHeaders/kjs/Error.h: Removed.
6369 * ForwardingHeaders/kjs/FunctionConstructor.h: Removed.
6370 * ForwardingHeaders/kjs/FunctionPrototype.h: Removed.
6371 * ForwardingHeaders/kjs/InternalFunction.h: Removed.
6372 * ForwardingHeaders/kjs/JSArray.h: Removed.
6373 * ForwardingHeaders/kjs/JSFunction.h: Removed.
6374 * ForwardingHeaders/kjs/JSGlobalObject.h: Removed.
6375 * ForwardingHeaders/kjs/JSNumberCell.h: Removed.
6376 * ForwardingHeaders/kjs/JSObject.h: Removed.
6377 * ForwardingHeaders/kjs/JSString.h: Removed.
6378 * ForwardingHeaders/kjs/JSValue.h: Removed.
6379 * ForwardingHeaders/kjs/ObjectPrototype.h: Removed.
6380 * ForwardingHeaders/kjs/PropertyMap.h: Removed.
6381 * ForwardingHeaders/kjs/PrototypeFunction.h: Removed.
6382 * ForwardingHeaders/kjs/StringObject.h: Removed.
6383 * ForwardingHeaders/kjs/StringObjectThatMasqueradesAsUndefined.h: Removed.
6384 * ForwardingHeaders/kjs/StringPrototype.h: Removed.
6385 * ForwardingHeaders/kjs/StructureID.h: Removed.
6386 * ForwardingHeaders/runtime: Added.
6387 * ForwardingHeaders/runtime/ArrayPrototype.h: Copied from ForwardingHeaders/kjs/ArrayPrototype.h.
6388 * ForwardingHeaders/runtime/BooleanObject.h: Copied from ForwardingHeaders/kjs/BooleanObject.h.
6389 * ForwardingHeaders/runtime/CallData.h: Copied from ForwardingHeaders/kjs/CallData.h.
6390 * ForwardingHeaders/runtime/ConstructData.h: Copied from ForwardingHeaders/kjs/ConstructData.h.
6391 * ForwardingHeaders/runtime/DateInstance.h: Copied from ForwardingHeaders/kjs/DateInstance.h.
6392 * ForwardingHeaders/runtime/Error.h: Copied from ForwardingHeaders/kjs/Error.h.
6393 * ForwardingHeaders/runtime/FunctionConstructor.h: Copied from ForwardingHeaders/kjs/FunctionConstructor.h.
6394 * ForwardingHeaders/runtime/FunctionPrototype.h: Copied from ForwardingHeaders/kjs/FunctionPrototype.h.
6395 * ForwardingHeaders/runtime/InternalFunction.h: Copied from ForwardingHeaders/kjs/InternalFunction.h.
6396 * ForwardingHeaders/runtime/JSArray.h: Copied from ForwardingHeaders/kjs/JSArray.h.
6397 * ForwardingHeaders/runtime/JSFunction.h: Copied from ForwardingHeaders/kjs/JSFunction.h.
6398 * ForwardingHeaders/runtime/JSGlobalObject.h: Copied from ForwardingHeaders/kjs/JSGlobalObject.h.
6399 * ForwardingHeaders/runtime/JSNumberCell.h: Copied from ForwardingHeaders/kjs/JSNumberCell.h.
6400 * ForwardingHeaders/runtime/JSObject.h: Copied from ForwardingHeaders/kjs/JSObject.h.
6401 * ForwardingHeaders/runtime/JSString.h: Copied from ForwardingHeaders/kjs/JSString.h.
6402 * ForwardingHeaders/runtime/JSValue.h: Copied from ForwardingHeaders/kjs/JSValue.h.
6403 * ForwardingHeaders/runtime/ObjectPrototype.h: Copied from ForwardingHeaders/kjs/ObjectPrototype.h.
6404 * ForwardingHeaders/runtime/PropertyMap.h: Copied from ForwardingHeaders/kjs/PropertyMap.h.
6405 * ForwardingHeaders/runtime/PrototypeFunction.h: Copied from ForwardingHeaders/kjs/PrototypeFunction.h.
6406 * ForwardingHeaders/runtime/StringObject.h: Copied from ForwardingHeaders/kjs/StringObject.h.
6407 * ForwardingHeaders/runtime/StringObjectThatMasqueradesAsUndefined.h: Copied from ForwardingHeaders/kjs/StringObjectThatMasqueradesAsUndefined.h.
6408 * ForwardingHeaders/runtime/StringPrototype.h: Copied from ForwardingHeaders/kjs/StringPrototype.h.
6409 * ForwardingHeaders/runtime/StructureID.h: Copied from ForwardingHeaders/kjs/StructureID.h.
6410 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
6411 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
6412 * bindings/js/JSClipboardCustom.cpp:
6413 * bindings/js/JSConsoleCustom.cpp:
6414 * bindings/js/JSCustomPositionCallback.h:
6415 * bindings/js/JSCustomPositionErrorCallback.h:
6416 * bindings/js/JSCustomSQLStatementCallback.h:
6417 * bindings/js/JSCustomSQLStatementErrorCallback.h:
6418 * bindings/js/JSCustomSQLTransactionErrorCallback.h:
6419 * bindings/js/JSCustomVoidCallback.h:
6420 * bindings/js/JSCustomXPathNSResolver.h:
6421 * bindings/js/JSDOMBinding.cpp:
6422 * bindings/js/JSDOMBinding.h:
6423 * bindings/js/JSDOMGlobalObject.h:
6424 * bindings/js/JSDOMWindowBase.cpp:
6425 * bindings/js/JSDOMWindowCustom.cpp:
6426 * bindings/js/JSDOMWindowShell.cpp:
6427 * bindings/js/JSDatabaseCustom.cpp:
6428 * bindings/js/JSEventListener.cpp:
6429 * bindings/js/JSEventTarget.h:
6430 * bindings/js/JSHTMLDocumentCustom.cpp:
6431 * bindings/js/JSHistoryCustom.cpp:
6432 * bindings/js/JSInspectedObjectWrapper.cpp:
6433 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
6434 * bindings/js/JSLocationCustom.cpp:
6435 * bindings/js/JSNodeFilterCondition.h:
6436 * bindings/js/JSQuarantinedObjectWrapper.cpp:
6437 * bindings/js/JSQuarantinedObjectWrapper.h:
6438 * bindings/js/JSXMLHttpRequestCustom.cpp:
6439 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
6440 * bindings/objc/WebScriptObject.mm:
6441 * bindings/objc/WebScriptObjectPrivate.h:
6442 * bindings/scripts/CodeGeneratorJS.pm:
6443 * bridge/NP_jsobject.cpp:
6444 * bridge/c/c_instance.cpp:
6445 * bridge/c/c_utility.cpp:
6446 * bridge/c/c_utility.h:
6447 * bridge/jni/jni_instance.cpp:
6448 * bridge/jni/jni_jsobject.h:
6449 * bridge/jni/jni_jsobject.mm:
6450 * bridge/jni/jni_runtime.cpp:
6451 * bridge/jni/jni_utility.cpp:
6452 * bridge/jni/jni_utility.h:
6453 * bridge/objc/objc_instance.mm:
6454 * bridge/objc/objc_runtime.h:
6455 * bridge/objc/objc_runtime.mm:
6456 * bridge/objc/objc_utility.h:
6457 * bridge/objc/objc_utility.mm:
6458 * bridge/runtime.h:
6459 * bridge/runtime_array.cpp:
6460 * bridge/runtime_array.h:
6461 * bridge/runtime_method.cpp:
6462 * bridge/runtime_method.h:
6463 * bridge/runtime_object.cpp:
6464 * bridge/runtime_object.h:
6465 * bridge/runtime_root.cpp:
6466 * inspector/JavaScriptCallFrame.cpp:
6467 * inspector/JavaScriptProfile.cpp:
6468 * inspector/JavaScriptProfile.h:
6469 * inspector/JavaScriptProfileNode.cpp:
6470 * inspector/JavaScriptProfileNode.h:
6471 * loader/FrameLoader.cpp:
6472 * page/Console.cpp:
6473 * plugins/PluginView.cpp:
6474 * plugins/gtk/PluginViewGtk.cpp:
6475 * plugins/qt/PluginViewQt.cpp:
6476 * plugins/win/PluginViewWin.cpp:
6477
adele@apple.com66ae4f52008-10-29 00:20:48 +000064782008-10-28 Adele Peterson <adele@apple.com>
6479
adele@apple.com39b601d2008-10-29 00:37:36 +00006480 Windows build fix. This removes Cairo include directories from non-Cairbo build configurations.
6481
6482 * WebCore.vcproj/WebCore.vcproj:
6483
64842008-10-28 Adele Peterson <adele@apple.com>
6485
6486 Windows build fix.
adele@apple.com66ae4f52008-10-29 00:20:48 +00006487
6488 * platform/graphics/ImageBuffer.h:
6489 (WebCore::ImageBuffer::create):
6490
cwzwarich@webkit.orgcf5b4bf2008-10-29 00:12:35 +000064912008-10-28 Cameron Zwarich <zwarich@apple.com>
6492
6493 Not reviewed.
6494
6495 Roll out a mistaken attempt at fixing the GTK build in r37947.
6496
6497 * GNUmakefile.am:
6498
adele@apple.comdfda2f42008-10-28 23:36:33 +000064992008-10-28 Adele Peterson <adele@apple.com>
6500
6501 Reviewed by John Sullivan.
6502
6503 Fix for https://bugs.webkit.org/show_bug.cgi?id=21880
6504 "files" string for multifile uploads needs to be localized
6505
6506 * page/mac/WebCoreViewFactory.h:
6507 * platform/LocalizedStrings.h:
6508 * platform/gtk/FileChooserGtk.cpp: (WebCore::FileChooser::basenameForWidth):
6509 * platform/gtk/LocalizedStringsGtk.cpp: (WebCore::multipleFileUploadText):
6510 * platform/mac/FileChooserMac.mm: (WebCore::FileChooser::basenameForWidth):
6511 * platform/mac/LocalizedStringsMac.mm: (WebCore::multipleFileUploadText):
6512 * platform/qt/Localizations.cpp: (WebCore::multipleFileUploadText):
6513 * platform/wx/LocalizedStringsWx.cpp: (WebCore::multipleFileUploadText):
6514
brettw@chromium.org6eee5b02008-10-28 23:10:42 +000065152008-10-28 Brett Wilson <brettw@chromium.org>
6516
6517 Reviewed by Darin Adler.
6518
6519 https://bugs.webkit.org/show_bug.cgi?id=21816
6520
6521 Remove platform ifdefs in ImageBuffer.h by moving platform specific code
6522 into a new PlatformImageBuffer class. Move the static create function
6523 into the header because it can be cross-platform. Initialization now
6524 happens in the cunstructor which sets a flag that create uses to know
6525 whether it should return null or not. I also made passing of IntSize
6526 more consistent (always by reference).
6527
6528 This change also changes the ifdefs in GraphicsContext to allow Skia
6529 ports to implement text drawing modes.
6530
6531 * platform/graphics/ImageBuffer.h:
6532 (WebCore::ImageBuffer::create):
6533 (WebCore::ImageBuffer::size):
6534 * platform/graphics/cairo/ImageBufferCairo.cpp:
6535 (WebCore::ImageBufferData::ImageBufferData):
6536 (WebCore::ImageBuffer::ImageBuffer):
6537 (WebCore::ImageBuffer::~ImageBuffer):
6538 (WebCore::ImageBuffer::image):
6539 (WebCore::ImageBuffer::getImageData):
6540 (WebCore::ImageBuffer::putImageData):
6541 * platform/graphics/cairo/ImageBufferData.h:
6542 * platform/graphics/cg/ImageBufferCG.cpp:
6543 (WebCore::ImageBufferData::ImageBufferData):
6544 (WebCore::ImageBuffer::ImageBuffer):
6545 (WebCore::ImageBuffer::~ImageBuffer):
6546 (WebCore::ImageBuffer::getImageData):
6547 (WebCore::ImageBuffer::putImageData):
6548 * platform/graphics/cg/ImageBufferData.h:
6549 * platform/graphics/qt/ImageBufferData.h:
6550 * platform/graphics/qt/ImageBufferQt.cpp:
6551 (WebCore::ImageBufferData::ImageBufferData):
6552 (WebCore::ImageBuffer::ImageBuffer):
6553 (WebCore::ImageBuffer::~ImageBuffer):
6554
cwzwarich@webkit.org0cb4aa32008-10-28 22:14:54 +000065552008-10-28 Cameron Zwarich <zwarich@apple.com>
6556
6557 Not reviewed.
6558
cwzwarich@webkit.org38fa5d22008-10-28 22:22:30 +00006559 Fix the GTK build.
6560
6561 * GNUmakefile.am:
6562
65632008-10-28 Cameron Zwarich <zwarich@apple.com>
6564
6565 Not reviewed.
6566
cwzwarich@webkit.org0cb4aa32008-10-28 22:14:54 +00006567 Another Qt build fix.
6568
6569 * WebCore.pro:
6570
ddkilzer@apple.com983f9392008-10-28 21:01:40 +000065712008-10-28 Greg Bolsinga <bolsinga@apple.com>
6572
6573 Reviewed by David Kilzer.
6574
ddkilzer@apple.com0f55da32008-10-28 21:42:26 +00006575 https://bugs.webkit.org/show_bug.cgi?id=21932
6576 Add non-pointer constant lookups to SoftLinking.h
6577
6578 * platform/mac/SoftLinking.h:
6579
65802008-10-28 Greg Bolsinga <bolsinga@apple.com>
6581
6582 Reviewed by David Kilzer.
6583
ddkilzer@apple.com983f9392008-10-28 21:01:40 +00006584 https://bugs.webkit.org/show_bug.cgi?id=2192
6585 Missing semi-colons in Geoposition.idl
6586
6587 * page/Geoposition.idl: Add missing semi-colons
6588
timothy@apple.comecd08c12008-10-28 20:41:59 +000065892008-10-28 Timothy Hatcher <timothy@apple.com>
6590
timothy@apple.com7dec1b92008-10-28 20:42:34 +00006591 Make the Profiles panel in the Web Inspector have an enable screen.
6592 Profiling now needs to be enabled before console.profile() works.
6593
6594 <rdar://problem/6211578> Make the JavaScript profiler opt-in, so it does
6595 not slow down JavaScript all the time
6596
6597 Reviewed by Darin Adler and Kevin McCullough.
6598
6599 * English.lproj/localizedStrings.js: New strings.
6600 * WebCore.base.exp: New and changed exports.
6601 * WebCore.vcproj/WebCore.vcproj: Add the PanelEnablerView.js file.
6602 * bindings/js/JSDOMWindowBase.cpp:
6603 (WebCore::JSDOMWindowBase::supportsProfiling): Call InspectorController:profilerEnabled.
6604 * inspector/InspectorController.cpp:
6605 (WebCore::InspectorController::InspectorController): Initialize the m_startProfiling
6606 Timer to call InspectorController::startUserInitiatedProfiling.
6607 (WebCore::InspectorController::startUserInitiatedProfilingSoon): Start a one-shot timer
6608 that calls InspectorController::startUserInitiatedProfiling.
6609 (WebCore::InspectorController::startUserInitiatedProfiling): Recompile all JavaScript
6610 and enable the profiler if the profiler was not enabled.
6611 (WebCore::InspectorController::stopUserInitiatedProfiling): Rearrange code for readability.
6612 (WebCore::InspectorController::enableProfiler): Recompile all the JavaScript functions
6613 if the skipRecompile argument is false. Call the profilerWasEnabled script function.
6614 (WebCore::InspectorController::disableProfiler): Recompile all the JavaScript functions.
6615 Call the profilerWasEnabled script function.
6616 (WebCore::InspectorController::disableDebugger): Set m_attachDebuggerWhenShown to false,
6617 so it won't be started later.
6618 * inspector/InspectorController.h:
6619 (WebCore::InspectorController::profilerEnabled): Return enabled() && m_profilerEnabled.
6620 * inspector/front-end/Images/debuggingButtons.png: Remove.
6621 * inspector/front-end/Images/enableButtons.png: Added.
6622 * inspector/front-end/Images/profilesSilhouette.png: Added.
6623 * inspector/front-end/Images/scriptsSilhouette.png: Added.
6624 * inspector/front-end/PanelEnablerView.js: Added.
6625 (WebInspector.PanelEnablerView):
6626 (WebInspector.PanelEnablerView.prototype._enableButtonCicked): Fire the "enable clicked"
6627 event so listeners can do their thing.
6628 (WebInspector.PanelEnablerView.prototype._windowResized): Test if the icon should be hidden.
6629 * inspector/front-end/ProfilesPanel.js:
6630 (WebInspector.ProfilesPanel): Create the PanelEnablerView and the strings needed for it.
6631 (WebInspector.ProfilesPanel.prototype.get statusBarItems): Include the enableToggleButton.
6632 (WebInspector.ProfilesPanel.prototype.profilerWasEnabled): Call reset and populateInterface.
6633 (WebInspector.ProfilesPanel.prototype.profilerWasDisabled): Call reset.
6634 (WebInspector.ProfilesPanel.prototype.reset): Call _updateInterface.
6635 (WebInspector.ProfilesPanel.prototype.setRecordingProfile): Moved in the code, no changes.
6636 (WebInspector.ProfilesPanel.prototype._updateInterface): Update the toggle button and
6637 show/hide other buttons. Also show/hide the PanelEnablerView.
6638 (WebInspector.ProfilesPanel.prototype._enableProfiling): Call _toggleProfiling if not enabled.
6639 (WebInspector.ProfilesPanel.prototype._toggleProfiling): Call InspectorController's
6640 disableProfiler or enableProfiler.
6641 * inspector/front-end/ScriptsPanel.js:
6642 (WebInspector.ScriptsPanel): Replace the overlay element with a PanelEnablerView. Replace the
6643 debuggingButton with the enableToggleButton.
6644 (WebInspector.ScriptsPanel.prototype.get statusBarItems): Replace the debuggingButton with
6645 the enableToggleButton.
6646 (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons): Hide/show the pauseOnExceptionButton
6647 when needed. Replace the overlay element with a PanelEnablerView. Replace the debuggingButton
6648 with the enableToggleButton.
6649 (WebInspector.ScriptsPanel.prototype._enableDebugging): Call _toggleDebugging when not enabled.
6650 (WebInspector.ScriptsPanel.prototype._toggleDebugging): Remove the call to _clearInterface,
6651 since reset is called from debuggerWasEnabled and debuggerWasDisabled.
6652 * inspector/front-end/View.js: Inherit from WebInspector.Object.
6653 * inspector/front-end/WebKit.qrc: Add the PanelEnablerView.js file.
6654 * inspector/front-end/inspector.css: New styles for the PanelEnablerView.
6655 * inspector/front-end/inspector.html: Add the PanelEnablerView.js file.
6656 * inspector/front-end/inspector.js:
6657 (WebInspector.profilerWasEnabled): Added. Calls the ProfilesPanel.
6658 (WebInspector.profilerWasDisabled): Ditto.
6659 * page/Console.cpp:
6660 (WebCore::Console::error): Remove null check for m_frame, since m_frame isn't used.
6661 (WebCore::Console::info): Ditto.
6662 (WebCore::Console::log): Ditto.
6663 (WebCore::Console::assertCondition): Ditto.
6664 (WebCore::Console::dirxml): Remove null check for m_frame and use this->page().
6665 (WebCore::Console::count): Ditto.
6666 (WebCore::Console::profile): Return early if InspectorController::profilerEnabled is false.
6667 (WebCore::Console::profileEnd): Ditto.
6668 (WebCore::Console::warn): Remove null check for m_frame, since m_frame isn't used.
6669 * page/Settings.cpp:
6670 (WebCore::Settings::Settings): Remove initialization of m_didInitializeDeveloperExtrasEnabled.
6671 (WebCore::Settings::setDeveloperExtrasEnabled): Remove code that recompiled functions.
6672 Now just sets the member boolean.
6673 * page/Settings.h: Remove m_didInitializeDeveloperExtrasEnabled.
6674
66752008-10-28 Timothy Hatcher <timothy@apple.com>
6676
timothy@apple.com0a8972d2008-10-28 20:42:11 +00006677 Rename a few methods related to attaching and detaching the debugger. Also
6678 adds stub methods for enabling and disabling the profiler.
6679
6680 * Rename attachDebugger to enableDebugger.
6681 * Rename detachDebugger to disableDebugger.
6682 * Rename the debuggerAttached getter to debuggerEnabled.
6683 * Rename the debuggerAttached callback to debuggerWasEnabled.
6684 * Rename the debuggerDetached callback to debuggerWasDisabled.
6685
6686 Reviewed by Darin Adler.
6687
6688 * WebCore.base.exp:
6689 * inspector/InspectorController.cpp:
6690 (WebCore::InspectorController::InspectorController):
6691 (WebCore::InspectorController::setWindowVisible):
6692 (WebCore::InspectorController::windowScriptObjectAvailable):
6693 (WebCore::InspectorController::close):
6694 (WebCore::InspectorController::enableProfiler):
6695 (WebCore::InspectorController::disableProfiler):
6696 (WebCore::InspectorController::enableDebugger):
6697 (WebCore::InspectorController::disableDebugger):
6698 (WebCore::InspectorController::pauseInDebugger):
6699 (WebCore::InspectorController::resumeDebugger):
6700 (WebCore::InspectorController::stepOverStatementInDebugger):
6701 (WebCore::InspectorController::stepIntoStatementInDebugger):
6702 (WebCore::InspectorController::stepOutOfFunctionInDebugger):
6703 * inspector/InspectorController.h:
6704 (WebCore::InspectorController::profilerEnabled):
6705 (WebCore::InspectorController::debuggerEnabled):
6706 * inspector/front-end/BreakpointsSidebarPane.js:
6707 (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
6708 (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint):
6709 (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
6710 * inspector/front-end/Object.js:
6711 * inspector/front-end/ProfilesPanel.js:
6712 (WebInspector.ProfilesPanel):
6713 * inspector/front-end/ScriptsPanel.js:
6714 (WebInspector.ScriptsPanel):
6715 (WebInspector.ScriptsPanel.prototype.get statusBarItems):
6716 (WebInspector.ScriptsPanel.prototype.debuggerWasEnabled):
6717 (WebInspector.ScriptsPanel.prototype.debuggerWasDetached):
6718 (WebInspector.ScriptsPanel.prototype.reset):
6719 (WebInspector.ScriptsPanel.prototype.canShowResource):
6720 (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsButton):
6721 (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
6722 (WebInspector.ScriptsPanel.prototype._toggleDebugging):
6723 * inspector/front-end/View.js:
6724 * inspector/front-end/inspector.css:
6725 * inspector/front-end/inspector.html:
6726 * inspector/front-end/inspector.js:
6727 (WebInspector.addResource):
6728 (WebInspector.debuggerWasEnabled):
6729 (WebInspector.debuggerWasDisabled):
6730
67312008-10-28 Timothy Hatcher <timothy@apple.com>
6732
timothy@apple.comecd08c12008-10-28 20:41:59 +00006733 Fix an exception when searching the Resources panel while there
6734 and resources queued to be added to the list.
6735
6736 Reviewed by Kevin McCullough.
6737
6738 * inspector/front-end/ResourcesPanel.js:
6739 (WebInspector.ResourcesPanel.prototype.searchCanceled): Null check
6740 the _resourcesTreeElement property.
6741 (WebInspector.ResourcesPanel.prototype.performSearch): Ditto.
6742
alp@webkit.orgd5cc6262008-10-28 16:18:00 +000067432008-10-28 Alp Toker <alp@nuanti.com>
6744
6745 GTK+ build fix for older versions of Pango where PANGO_VERSION_CHECK
6746 isn't defined.
6747
6748 * platform/graphics/gtk/FontGtk.cpp:
6749 (WebCore::getDefaultPangoLayout):
6750 * platform/graphics/gtk/FontPlatformDataPango.cpp:
6751
ap@webkit.orgbed87e92008-10-28 13:42:34 +000067522008-10-28 Alexey Proskuryakov <ap@webkit.org>
6753
6754 Reviewed by Darin Adler.
6755
6756 https://bugs.webkit.org/show_bug.cgi?id=21893
6757 Character set is incorrect for external scripts in XHTML pages
6758
6759 <rdar://problem/6317451> Incorrect encoding for text in a popup at http://xpoint.ru/
6760
6761 Test: fast/encoding/external-script-charset.xhtml
6762
6763 Expose scriptCharset() function on all ScriptElements, and call it from XML tokenizer.
6764
6765 * dom/ScriptElement.h:
6766 * dom/XMLTokenizerLibxml2.cpp:
6767 (WebCore::XMLTokenizer::endElementNs):
6768 * dom/XMLTokenizerQt.cpp:
6769 (WebCore::XMLTokenizer::parseEndElement):
6770 * html/HTMLScriptElement.h:
6771 * svg/SVGScriptElement.cpp:
6772 (WebCore::SVGScriptElement::scriptCharset):
6773 * svg/SVGScriptElement.h:
6774
alp@webkit.org2ab36952008-10-28 12:53:51 +000067752008-10-28 Alp Toker <alp@nuanti.com>
6776
6777 Include copyright license files in the autotools dist target and
6778 exclude unused zlib headers.
6779
6780 Change suggested by Mike Hommey.
6781
6782 * GNUmakefile.am:
6783
weinig@apple.com57022612008-10-28 05:24:13 +000067842008-10-27 Sam Weinig <sam@webkit.org>
6785
6786 Reviewed by Maciej Stachowiak.
6787
6788 Clear the window shell when destroying a page to allow documents
6789 which have no way of being reached anymore, to be torn down.
6790
6791 * page/Frame.cpp:
6792 (WebCore::Frame::pageDestroyed):
6793
kevino@webkit.orgcdfc5ff2008-10-27 22:15:11 +000067942008-10-27 Kevin Watters <kevinwatters@gmail.com>
6795
6796 Reviewed by Kevin Ollivier.
6797
6798 Update the active state as well as the focused state as both need to be true
6799 for the caret to be drawn.
6800
6801 https://bugs.webkit.org/show_bug.cgi?id=21900
6802
6803 * WebView.cpp:
6804 (wxWebView::OnSetFocus):
6805 (wxWebView::OnKillFocus):
6806
kevino@webkit.orgc10dd0c2008-10-27 22:07:30 +000068072008-10-27 Kevin Ollivier <kevino@theolliviers.com>
6808
6809 wx build fix on Linux/GTK. Enable support for #include <JavaScriptCore/XYZ.h> style includes.
6810
6811 * webcore-wx.bkl:
6812
darin@apple.com3ab3cf62008-10-27 21:20:13 +000068132008-10-27 Michael Knaup <michael.knaup@mac.com>
6814
6815 Reviewed and tweaked by Darin Adler.
6816
6817 - https://bugs.webkit.org/show_bug.cgi?id=8988
6818
6819 Bug 8988: Add support for Mozilla CSS custom cursors.
6820 Added -webkit-grab and -webkit-grabbing cursor suppport
6821 for the Mac, dummy implementations for other platforms.
6822
6823 * css/CSSParser.cpp:
6824 (WebCore::CSSParser::parseValue): Updated since the
6825 -webkit-grabbing cursor is now the last one.
6826
6827 * css/CSSPrimitiveValueMappings.h:
6828 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added
6829 CURSOR_WEBKIT_GRAB and CURSOR_WEBKIT_GRABBING.
6830
6831 * css/CSSValueKeywords.in: Added -webkit-grab and
6832 -webkit-grabbing.
6833
6834 * manual-tests/cursor.html: Added -webkit-zoom-in,
6835 webkit-zoom-out, -webkit-grab, and -webkit-grabbing.
6836
6837 * page/EventHandler.cpp:
6838 (WebCore::EventHandler::selectCursor): Added
6839 CURSOR_WEBKIT_GRAB and CURSOR_WEBKIT_GRABBING.
6840
6841 * platform/Cursor.h: Added grabCursor and grabbingCursor.
6842
6843 * platform/gtk/CursorGtk.cpp:
6844 (WebCore::grabCursor): Added.
6845 (WebCore::grabbingCursor): Added.
6846 * platform/mac/CursorMac.mm:
6847 (WebCore::grabCursor): Added.
6848 (WebCore::grabbingCursor): Added.
6849 * platform/qt/CursorQt.cpp:
6850 (WebCore::grabCursor): Added.
6851 (WebCore::grabbingCursor): Added.
6852 * platform/win/CursorWin.cpp:
6853 (WebCore::grabCursor): Added.
6854 (WebCore::grabbingCursor): Added.
6855 * platform/wx/CursorWx.cpp:
6856 (WebCore::grabCursor): Added.
6857 (WebCore::grabbingCursor): Added.
6858
6859 * rendering/style/RenderStyleConstants.h:
6860 Added CURSOR_WEBKIT_GRAB and CURSOR_WEBKIT_GRABBING.
6861 Also broke ECursor out into a single constant per line.
6862 Also added a couple of comments.
6863
eric@webkit.orgb1115002008-10-27 20:07:49 +000068642008-10-27 Dimitri Glazkov <dglazkov@chromium.org>
6865
6866 Reviewed by Darin Adler.
6867
6868 * svg/SVGAnimatedTemplate.h: needed a HashMap define
6869
eric@webkit.orgb2e05732008-10-27 19:49:58 +000068702008-10-21 Eric Seidel <eric@webkit.org>
6871
6872 Reviewed by Dave Hyatt.
6873
6874 Infinite recursion crash in WebCore::RenderSVGRoot::absoluteClippedOverflowRect on a <stop> element outside of a gradient block
6875 https://bugs.webkit.org/show_bug.cgi?id=20400
6876
6877 Test: svg/custom/stop-crash.svg
6878
6879 * WebCore.xcodeproj/project.pbxproj:
6880 * rendering/RenderSVGGradientStop.h:
6881 (WebCore::RenderSVGGradientStop::absoluteClippedOverflowRect):
6882
andersca@apple.com0021f002008-10-27 18:52:49 +000068832008-10-27 Anders Carlsson <andersca@apple.com>
6884
andersca@apple.comd693d602008-10-27 18:55:12 +00006885 Reviewed by Sam Weinig.
6886
6887 No need to call release if the connection is null.
6888
6889 * platform/network/mac/ResourceHandleMac.mm:
6890 (WebCore::ResourceHandle::start):
6891
68922008-10-27 Anders Carlsson <andersca@apple.com>
6893
andersca@apple.com0021f002008-10-27 18:52:49 +00006894 Reviewed by Kevin Decker.
6895
6896 <rdar://problem/6322650> Crash in fast/loader/simultaneous-reloads-assert.html
6897
6898 Make sure to null check the NSURLConnection object.
6899
6900 * platform/network/mac/ResourceHandleMac.mm:
6901 (WebCore::ResourceHandle::start):
6902 (WebCore::ResourceHandle::setDefersLoading):
6903
ap@webkit.org6bc2b852008-10-27 08:53:48 +000069042008-10-27 Alexey Proskuryakov <ap@webkit.org>
6905
6906 Fix non-Mac builds.
6907
6908 * GNUmakefile.am:
6909 * WebCore.pro:
6910 * WebCore.vcproj/WebCore.vcproj:
6911 * WebCoreSources.bkl:
6912 Renamed JSHTMLOptionElementConstructor to JSOptionConstructor.
6913
ap@webkit.orgb133b5c2008-10-27 07:59:16 +000069142008-10-26 Alexey Proskuryakov <ap@webkit.org>
6915
6916 Reviewed by Sam Weinig.
6917
6918 https://bugs.webkit.org/show_bug.cgi?id=21886
6919 window.HTMLOptionElement == "[object HTMLElementConstructor]" instead of HTMLOptionElementConstructor
6920
6921 Test: fast/dom/HTMLOptionElement/option-prototype.html
6922
6923 We now have separate objects for window.Option and window.HTMLOptionElement - the latter
6924 "constructor" cannot be used to construct anything. This matches Firefox behavior.
6925
6926 * WebCore.xcodeproj/project.pbxproj:
6927 * bindings/js/JSDOMWindowBase.cpp:
6928 (jsDOMWindowBaseOption):
6929 * bindings/js/JSHTMLOptionElementConstructor.cpp: Removed.
6930 * bindings/js/JSHTMLOptionElementConstructor.h: Removed.
6931 * bindings/js/JSOptionConstructor.cpp: Copied from WebCore/bindings/js/JSHTMLOptionElementConstructor.cpp.
6932 * bindings/js/JSOptionConstructor.h: Copied from WebCore/bindings/js/JSHTMLOptionElementConstructor.h.
6933 * html/HTMLOptionElement.idl:
6934 Renamed JSHTMLOptionElementConstructor to JSOptionConstructor.
6935
6936 * html/HTMLOptionElement.idl: Generate a constructor.
6937
ggaren@apple.combdfb2b52008-10-25 20:03:06 +000069382008-10-25 Geoffrey Garen <ggaren@apple.com>
6939
6940 Not reviewed.
6941
6942 Try to fix Mac debug build on the buildbot.
6943
6944 * platform/FileChooser.cpp:
6945 (WebCore::FileChooserClient::~FileChooserClient):
6946 * platform/FileChooser.h: Moved destructor to .cpp file, to avoid a
6947 weak exported symbol.
6948
vestbo@webkit.org4e516942008-10-25 15:22:24 +000069492008-10-25 Jade Han <jade.han@nokia.com>
6950
6951 Reviewed by Anders.
6952
6953 Enable custom properties for Qt runtime objects in QtWebKit
6954
6955 https://bugs.webkit.org/show_bug.cgi?id=21813
6956
6957 * bridge/runtime_object.cpp:
6958 (JSC::RuntimeObjectImp::getOwnPropertySlot):
6959 (JSC::RuntimeObjectImp::put):
6960
weinig@apple.comd75fed72008-10-25 06:02:05 +000069612008-10-24 Sam Weinig <sam@webkit.org>
6962
weinig@apple.com6c48aa12008-10-25 06:36:21 +00006963 Fix windows build.
6964
6965 * page/Chrome.cpp:
6966 * page/Chrome.h:
6967
69682008-10-24 Sam Weinig <sam@webkit.org>
6969
weinig@apple.com32ded9f2008-10-25 06:29:06 +00006970 Fix Qt build.
6971
6972 * platform/qt/FileChooserQt.cpp:
6973
69742008-10-24 Sam Weinig <sam@webkit.org>
6975
weinig@apple.comd75fed72008-10-25 06:02:05 +00006976 Reviewed by Dan Bernstein.
6977
6978 Fix https://bugs.webkit.org/show_bug.cgi?id=21759
6979 Layering violation: FileChooser should not depend on Document/Frame/Page
6980
6981 Move file choosing into WebKit ChromeClient.
6982
6983 * loader/EmptyClients.h:
6984 (WebCore::EmptyChromeClient::runOpenPanel):
6985 * page/Chrome.cpp:
6986 (WebCore::Chrome::runOpenPanel):
6987 * page/Chrome.h:
6988 * page/ChromeClient.h:
6989 * page/mac/ChromeMac.mm:
6990 * platform/FileChooser.h:
6991 * platform/mac/FileChooserMac.mm:
6992 * platform/qt/FileChooserQt.cpp:
6993 * platform/win/FileChooserWin.cpp:
6994 * platform/wx/TemporaryLinkStubs.cpp:
6995 * rendering/RenderFileUploadControl.cpp:
6996 (WebCore::RenderFileUploadControl::click):
6997
kevino@webkit.org4629ecf2008-10-25 01:34:12 +000069982008-10-24 Kevin Ollivier <kevino@theolliviers.com>
6999
7000 wx build fix - add newIconForFiles stub.
7001
7002 * platform/wx/TemporaryLinkStubs.cpp:
7003 (Icon::newIconForFiles):
7004
kevino@webkit.org64c5aeb2008-10-25 01:15:05 +000070052008-10-24 Kevin Watters <kevinwatters@gmail.com>
7006
7007 Reviewed by Kevin Ollivier.
7008
7009 Use the CGFont metrics APIs for more accurate measurements, and tweak the y
7010 value the text is drawn at (it was a couple pixels off before because wx
7011 internally adds to the y value.
7012
7013 https://bugs.webkit.org/show_bug.cgi?id=21853
7014
7015 * platform/wx/wxcode/mac/carbon/fontprops.cpp:
7016 (wxFontProperties::wxFontProperties):
7017 * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp:
7018 (WebCore::drawTextWithSpacing):
7019
eric@webkit.orgeb5cef42008-10-24 23:46:30 +000070202008-10-24 Eric Seidel <eric@webkit.org>
7021
7022 Reviewed by Sam Weinig.
7023
7024 Generate missing constructors and add test to prevent missing ones in the future
7025 https://bugs.webkit.org/show_bug.cgi?id=21846
7026
7027 Test: fast/js/global-constructors.html
7028
7029 * css/CSSStyleSheet.idl:
7030 * css/RGBColor.idl:
7031 * dom/NodeIterator.idl:
7032 * dom/TreeWalker.idl:
7033 * xml/XPathExpression.idl:
7034
ap@webkit.org1ae2de22008-10-24 23:39:17 +000070352008-10-24 Alexey Proskuryakov <ap@webkit.org>
7036
7037 Reviewed by Darin Adler.
7038
7039 https://bugs.webkit.org/show_bug.cgi?id=21836
7040 REGRESSION: Sign-in on Fancast.com causes crash in Webkit nightly
7041
7042 Test: http/tests/xmlhttprequest/detaching-frame.html
7043
7044 * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::dropProtection): Null check the window -
7045 even though XHR needs a context (AKA frame) to be serviced, the frame may be disconnected
7046 when dispatching the same callback that results in this function being called.
7047
ddkilzer@apple.come2f6f5c2008-10-24 23:04:55 +000070482008-10-24 David Kilzer <ddkilzer@apple.com>
7049
7050 Gtk build fix.
7051
7052 * platform/gtk/TemporaryLinkStubs.cpp:
7053 (WebCore::setFocusRingColorChangeFunction): Removed in r37858.
7054
mrowe@apple.com60f38472008-10-24 22:20:10 +000070552008-10-24 Mark Rowe <mrowe@apple.com>
7056
7057 Reviewed by Sam Weinig.
7058
7059 <rdar://problem/6164952> Use constant kCGInterpolationMedium in GraphicsContextCG.cpp rather than hard-coded values.
7060
7061 * platform/graphics/cg/GraphicsContextCG.cpp:
7062 (WebCore::GraphicsContext::setImageInterpolationQuality):
7063 (WebCore::GraphicsContext::imageInterpolationQuality):
7064
andersca@apple.com4348c6a2008-10-24 22:16:18 +000070652008-10-24 Anders Carlsson <andersca@apple.com>
7066
7067 Reviewed by Sam Weinig.
7068
7069 <rdar://problem/5440917> Support NPN_Construct
7070
7071 * WebCore.NPAPI.exp:
7072 Export _NPN_Construct.
7073
7074 * bridge/NP_jsobject.cpp:
7075 (_NPN_Construct):
7076 Implement this.
7077
7078 * bridge/c/c_instance.cpp:
7079 (JSC::Bindings::CInstance::supportsConstruct):
7080 (JSC::Bindings::CInstance::invokeConstruct):
7081 Have this call the appropriate NPClass method.
7082
7083 * bridge/npruntime.h:
7084 Add NPN_Construct.
7085
7086 * bridge/npruntime_impl.h:
7087 Add _NPN_Construct.
7088
7089 * bridge/runtime.h:
7090 (JSC::Bindings::Instance::supportsConstruct):
7091 (JSC::Bindings::Instance::invokeConstruct):
7092 New methods.
7093
7094 * bridge/runtime_object.cpp:
7095 (JSC::callRuntimeConstructor):
7096 Call the native instance.
7097
7098 (JSC::RuntimeObjectImp::getConstructData):
7099 Implement this.
7100
7101 * bridge/runtime_object.h:
7102 Add new method declarations.
7103
7104 * plugins/gtk/PluginPackageGtk.cpp:
7105 (WebCore::PluginPackage::load):
7106 * plugins/qt/PluginPackageQt.cpp:
7107 (WebCore::PluginPackage::load):
7108 * plugins/win/PluginPackageWin.cpp:
7109 (WebCore::PluginPackage::load):
7110 Initialize m_pluginFuncs.construct.
7111
adele@apple.com8d6189b2008-10-24 22:09:35 +000071122008-10-24 Adele Peterson <adele@apple.com>
7113
7114 Build fix.
7115
7116 * platform/FileChooser.h: (WebCore::FileChooserClient::~FileChooserClient):
7117 * platform/graphics/mac/IconMac.mm: (WebCore::Icon::newIconForFiles):
7118
ddkilzer@apple.combff12fe2008-10-24 21:51:58 +000071192008-10-24 Greg Bolsinga <bolsinga@apple.com>
7120
7121 Fix GTK build break.
7122
7123 Reviewed by David Kilzer.
7124
7125 * GNUmakefile.am: Do not include .idl files whose generated files should not be
7126 compiled.
7127
ddkilzer@apple.comec6a0d12008-10-24 21:46:12 +000071282008-10-24 David Kilzer <ddkilzer@apple.com>
7129
7130 Wx build fix.
7131
7132 * platform/wx/TemporaryLinkStubs.cpp:
7133 (WebCore::setFocusRingColorChangeFunction): Removed in r37858.
7134
adele@apple.com497541b2008-10-24 21:12:45 +000071352008-10-24 Adele Peterson <adele@apple.com>
7136
7137 Reviewed by Sam Weinig.
7138
7139 WebCore part of fix for <rdar://problem/5839256> FILE CONTROL: multi-file upload.
7140
7141 This change adds support for multiple file selection in an <input type="file"> control when the "multiple" attribute is used.
7142 This is consistent with the direction HTML5 will be going in the future.
7143
7144 The initial implementation here will show "n files" as the text next to the control when multiple files are selected. You can view
7145 the individual files in a tooltip for now. Improvements to this control will come later.
7146
7147 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.
7148 These FileList Files can also be sent in an XMLHTTPRequest.
7149
7150 * manual-tests/post-multi-file-upload.html: Added.
7151 * manual-tests/resources/multiFileResources: Added.
7152 * manual-tests/resources/multiFileResources/post-echo-and-notify-done.cgi: Added.
7153 * manual-tests/resources/multiFileResources/testFile1.html: Added.
7154 * manual-tests/resources/multiFileResources/testFile2.html: Added.
7155 * manual-tests/resources/multiFileResources/testFile3.html: Added.
7156
7157 * WebCore.base.exp: Added support to export the new "chooseFilenames" method to be used in WebKit.
7158
7159 * html/HTMLInputElement.cpp:
7160 (WebCore::HTMLInputElement::parseMappedAttribute): Add support for the multiple attribute.
7161 (WebCore::HTMLInputElement::value): Added comments. The HTML5 spec says that value shouldn't apply for the file upload control,
7162 but we don't want to break the behavior for existing websites that may rely on this.
7163 (WebCore::HTMLInputElement::setValue): ditto.
7164 (WebCore::HTMLInputElement::setValueFromRenderer): This is no longer used for file upload controls. setFileListFromRenderer is used instead.
7165 (WebCore::HTMLInputElement::setFileListFromRenderer): Added.
7166 * html/HTMLInputElement.h:
7167
7168 * page/Chrome.cpp: (WebCore::Chrome::setToolTip): Show a tooltip with the file name list for the multi-file upload control.
7169
7170 * page/DragController.cpp: (WebCore::DragController::concludeDrag): Updated to support multiple files.
7171
7172 * platform/FileChooser.cpp: Add support for maintaining a list of file paths that can be retrieved by the renderer.
7173 (WebCore::FileChooser::FileChooser):
7174 (WebCore::FileChooser::create):
7175 (WebCore::FileChooser::clear):
7176 (WebCore::FileChooser::chooseFile):
7177 (WebCore::FileChooser::chooseFiles):
7178 (WebCore::FileChooser::chooseIcon):
7179 * platform/FileChooser.h:
7180 (WebCore::FileChooser::filePaths):
7181 (WebCore::FileChooser::allowsMultipleFiles):
7182
7183 * platform/graphics/Icon.h:
7184 * platform/graphics/mac/IconMac.mm: (WebCore::Icon::newIconForFiles): Returns a generic icon for multiple files.
7185 * platform/graphics/gtk/IconGtk.cpp: (WebCore::Icon::newIconForFiles): stubbed out.
7186 * platform/graphics/qt/IconQt.cpp: (WebCore::Icon::newIconForFiles): ditto.
7187 * platform/graphics/win/IconWin.cpp: (WebCore::Icon::newIconForFiles): ditto.
7188
7189 * platform/gtk/FileChooserGtk.cpp: (WebCore::FileChooser::basenameForWidth): Updated to deal with new filenames vector.
7190 * platform/mac/FileChooserMac.mm: (WebCore::FileChooser::basenameForWidth): ditto.
7191 * platform/qt/FileChooserQt.cpp:
7192 (WebCore::FileChooser::openFileChooser):
7193 (WebCore::FileChooser::basenameForWidth):
7194 * platform/win/FileChooserWin.cpp: (WebCore::FileChooser::basenameForWidth):
7195
7196 * platform/network/mac/FormDataStreamMac.mm: (WebCore::disassociateStreamWithResourceHandle):
7197 Removed unnecessary assertion. This can get hit when connectionDidFinishLoading and cancel
7198 both get called for the same ResourceHandle. This getting called twice has no negative effect.
7199
7200 * rendering/RenderFileUploadControl.cpp:
7201 (WebCore::RenderFileUploadControl::valueChanged): Calls setFileListFromRenderer.
7202 (WebCore::RenderFileUploadControl::allowsMultipleFiles): Added.
7203 (WebCore::RenderFileUploadControl::updateFromElement): Uses the new filenames call from FileChooser.
7204 (WebCore::RenderFileUploadControl::receiveDroppedFiles): Updated to support multiple files.
7205 * rendering/RenderFileUploadControl.h:
7206
pkasting@chromium.orga8304c02008-10-24 20:43:02 +000072072008-10-23 Peter Kasting <pkasting@google.com>
7208
7209 Reviewed by David Hyatt.
7210
7211 https://bugs.webkit.org/show_bug.cgi?id=21844
7212 Remove setFocusRingColorChangeFunction.
7213
7214 * page/Page.cpp:
7215 (WebCore::Page::Page):
7216 * platform/graphics/Color.h:
7217 * platform/graphics/mac/ColorMac.mm:
7218 (WebCore::focusRingColor):
7219 * platform/graphics/qt/GraphicsContextQt.cpp:
7220 * platform/graphics/win/ColorSafari.cpp:
7221
ddkilzer@apple.com853ea9f2008-10-24 20:32:46 +000072222008-10-24 David Kilzer <ddkilzer@apple.com>
7223
7224 Build fix for Qt.
7225
7226 Reviewed by Greg.
7227
7228 * WebCore.pro: Added missing *.idl files.
7229
ddkilzer@apple.comf930faf2008-10-24 20:10:40 +000072302008-10-24 Greg Bolsinga <bolsinga@apple.com>
7231
7232 Reviewed by Sam Weinig.
7233
7234 https://bugs.webkit.org/show_bug.cgi?id=21475
7235
7236 Provide support for the Geolocation API
7237
7238 http://dev.w3.org/geo/api/spec-source.html
7239
7240 Test: geolocation/geolocation-not-implemented.html
7241
7242 * DerivedSources.make:
7243 * GNUmakefile.am: Added Geolocation support
7244 * WebCore.pro: Added Geolocation support
7245 * WebCore.vcproj/WebCore.vcproj: Added Geolocation support
7246 * WebCore.xcodeproj/project.pbxproj: Added Geolocation support
7247 * WebCoreSources.bkl: Added Geolocation support
7248 * bindings/js/JSCustomPositionCallback.cpp: Added.
7249 (WebCore::JSCustomPositionCallback::JSCustomPositionCallback):
7250 (WebCore::JSCustomPositionCallback::handleEvent):
7251 * bindings/js/JSCustomPositionCallback.h: Added.
7252 (WebCore::JSCustomPositionCallback::create):
7253 * bindings/js/JSCustomPositionErrorCallback.cpp: Added.
7254 (WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback):
7255 (WebCore::JSCustomPositionErrorCallback::handleEvent):
7256 * bindings/js/JSCustomPositionErrorCallback.h: Added.
7257 (WebCore::JSCustomPositionErrorCallback::create):
7258 * bindings/js/JSDOMBinding.cpp: move markDOMObjectWrapper here from JSDOMWindowCustom
7259 (WebCore::markDOMObjectWrapper):
7260 * bindings/js/JSDOMBinding.h: move markDOMObjectWrapper here from JSDOMWindowCustom
7261 * bindings/js/JSDOMWindowCustom.cpp: move markDOMObjectWrapper to JSDOMBinding
7262 * bindings/js/JSGeolocationCustom.cpp: Added.
7263 (WebCore::JSGeolocation::getCurrentPosition):
7264 (WebCore::JSGeolocation::watchPosition):
7265 * bindings/js/JSNavigatorCustom.cpp: handle marking Geolocation
7266 (WebCore::JSNavigator::mark):
7267 * dom/Document.cpp:
7268 (WebCore::Document::Document):
7269 * dom/Document.h:
7270 (WebCore::Document::setUsingGeolocation):
7271 (WebCore::Document::usingGeolocation):
7272 * loader/FrameLoader.cpp: don't add to back forward cache if using Geolocation
7273 (WebCore::FrameLoader::canCachePage):
7274 * page/Geolocation.cpp: Added.
7275 (WebCore::Geolocation::GeoNotifier::GeoNotifier):
7276 (WebCore::Geolocation::GeoNotifier::timerFired):
7277 (WebCore::Geolocation::Geolocation):
7278 (WebCore::Geolocation::disconnectFrame):
7279 (WebCore::Geolocation::getCurrentPosition):
7280 (WebCore::Geolocation::watchPosition):
7281 (WebCore::Geolocation::clearWatch):
7282 (WebCore::Geolocation::stopUpdatingIfEmpty):
7283 (WebCore::Geolocation::sendErrorToOneShots):
7284 (WebCore::Geolocation::sendErrorToWatchers):
7285 (WebCore::Geolocation::sendPositionToOneShots):
7286 (WebCore::Geolocation::sendPositionToWatchers):
7287 (WebCore::Geolocation::handleError):
7288 (WebCore::Geolocation::geolocationServicePositionChanged):
7289 (WebCore::Geolocation::geolocationServiceErrorOccurred):
7290 * page/Geolocation.h: Added.
7291 (WebCore::Geolocation::create):
7292 (WebCore::Geolocation::~Geolocation):
7293 (WebCore::Geolocation::lastPosition):
7294 (WebCore::Geolocation::GeoNotifier::create):
7295 * page/Geolocation.idl: Added.
7296 * page/Geoposition.cpp: Added.
7297 (WebCore::Geoposition::toString):
7298 * page/Geoposition.h: Added.
7299 (WebCore::Geoposition::create):
7300 (WebCore::Geoposition::latitude):
7301 (WebCore::Geoposition::longitude):
7302 (WebCore::Geoposition::altitude):
7303 (WebCore::Geoposition::accuracy):
7304 (WebCore::Geoposition::altitudeAccuracy):
7305 (WebCore::Geoposition::heading):
7306 (WebCore::Geoposition::velocity):
7307 (WebCore::Geoposition::timestamp):
7308 (WebCore::Geoposition::Geoposition):
7309 * page/Geoposition.idl: Added.
7310 * page/Navigator.cpp:
7311 (WebCore::Navigator::disconnectFrame): disconnect Geolocation
7312 (WebCore::Navigator::geolocation): accessor for Geolocation
7313 * page/Navigator.h:
7314 (WebCore::Navigator::optionalGeolocation): accessor for Geolocation
7315 * page/Navigator.idl: accessor for Geolocation
7316 * page/PositionCallback.h: Added.
7317 (WebCore::PositionCallback::~PositionCallback):
7318 * page/PositionCallback.idl: Added.
7319 * page/PositionError.h: Added.
7320 (WebCore::PositionError::):
7321 (WebCore::PositionError::create):
7322 (WebCore::PositionError::code):
7323 (WebCore::PositionError::message):
7324 (WebCore::PositionError::PositionError):
7325 * page/PositionError.idl: Added.
7326 * page/PositionErrorCallback.h: Added.
7327 (WebCore::PositionErrorCallback::~PositionErrorCallback):
7328 * page/PositionErrorCallback.idl: Added.
7329 * page/PositionOptions.h: Added.
7330 (WebCore::PositionOptions::create):
7331 (WebCore::PositionOptions::enableHighAccuracy):
7332 (WebCore::PositionOptions::setEnableHighAccuracy):
7333 (WebCore::PositionOptions::timeout):
7334 (WebCore::PositionOptions::setTimeout):
7335 (WebCore::PositionOptions::PositionOptions):
7336 * page/PositionOptions.idl: Added.
7337 * platform/GeolocationService.cpp: Added.
7338 (WebCore::GeolocationService::GeolocationService):
7339 (WebCore::GeolocationService::positionChanged):
7340 (WebCore::GeolocationService::errorOccurred):
7341 * platform/GeolocationService.h: Added.
7342 (WebCore::GeolocationServiceClient::~GeolocationServiceClient):
7343 (WebCore::GeolocationServiceClient::geolocationServicePositionChanged):
7344 (WebCore::GeolocationServiceClient::geolocationServiceErrorOccurred):
7345 (WebCore::GeolocationService::~GeolocationService):
7346
simon.fraser@apple.coma0a18572008-10-24 19:15:52 +000073472008-10-24 Simon Fraser <simon.fraser@apple.com>
7348
simon.fraser@apple.com912ac412008-10-24 19:32:51 +00007349 Reviewed by Darin Adler
7350
7351 https://bugs.webkit.org/show_bug.cgi?id=21818
7352
7353 Add HashTraits for AtomicString so that AtomicString can be used as
7354 the key for a HashMap or HashSet.
7355
7356 * GNUmakefile.am: add AtomicStringHash.h
7357 * WebCore.vcproj/WebCore.vcproj: add AtomicStringHash.h
7358 * WebCore.xcodeproj/project.pbxproj: add AtomicStringHash.h
7359 * platform/text/AtomicString.h:
7360 (WebCore::AtomicString::AtomicString):
7361 (WebCore::AtomicString::isHashTableDeletedValue):
7362 specialize DefaultHash for AtomicString to use AtomicStringHash
7363 * platform/text/AtomicStringHash.h: Added.
7364 * platform/text/StringImpl.cpp:
7365 (WebCore::StringImpl::StringImpl):
7366 compute the hash up-front for the empty string
7367 * platform/text/StringImpl.h:
7368 (WebCore::StringImpl::existingHash):
7369 method to get the hash without a test and branch, for callers like
7370 AtomicStringHash who can guarantee that the hash has already been computed.
7371
73722008-10-24 Simon Fraser <simon.fraser@apple.com>
7373
simon.fraser@apple.coma0a18572008-10-24 19:15:52 +00007374 Reviewed by Sam Weinig
7375
7376 https://bugs.webkit.org/show_bug.cgi?id=21857
7377
7378 Add WebKitCSSKeyframeRule and WebKitCSSKeyframesRule to the
7379 switch in _wrapCSSRule.
7380
7381 * bindings/objc/DOMCSS.mm:
7382 (+[DOMCSSRule _wrapCSSRule:WebCore::]):
7383
aroben@apple.comb3ba69262008-10-24 19:14:17 +000073842008-10-24 Adam Roben <aroben@apple.com>
7385
7386 Windows build fix
7387
7388 * plugins/PluginView.cpp:
7389
mitz@apple.com258a2a32008-10-24 19:10:51 +000073902008-10-24 Dan Bernstein <mitz@apple.com>
7391
7392 Reviewed by Sam Weinig.
7393
7394 - fix https://bugs.webkit.org/show_bug.cgi?id=21851
7395 <rdar://problem/6304151> REGRESSION (r36513): Crash when removing a widget with percent height
7396
7397 Test: fast/replaced/percent-height-in-anonymous-block-widget.html
7398
7399 * rendering/RenderWidget.cpp:
7400 (WebCore::RenderWidget::destroy): Copied code added to
7401 RenderBox::destroy() in r36513 into this function.
7402
timothy@apple.comf4540012008-10-24 18:49:39 +000074032008-10-24 Timothy Hatcher <timothy@apple.com>
7404
7405 Add a mechanism to ask the InspectorClient for key/value setting pairs.
7406 These settings can be strings, numbers, booleans or string vectors. The
7407 settings are also bridged to and from JavaScript.
7408
7409 https://bugs.webkit.org/show_bug.cgi?id=21856
7410
7411 Reviewed by Darin Adler.
7412
7413 * WebCore.base.exp: Expose the String CFStringRef constructor.
7414 * inspector/InspectorClient.h:
7415 (WebCore::InspectorClient::populateSetting): Added, pure virtual.
7416 (WebCore::InspectorClient::storeSetting): Ditto.
7417 (WebCore::InspectorClient::removeSetting): Ditto.
7418 * inspector/InspectorController.cpp:
7419 (WebCore::setting): Calls InspectorController::setting and wraps the result in script types.
7420 (WebCore::setSetting): Calls InspectorController::setSetting after converting from script types.
7421 (WebCore::InspectorController::InspectorController): Increment a global static
7422 to track the number of live InspectorControllers.
7423 (WebCore::InspectorController::~InspectorController): Decrement the global static
7424 that tracks the number of live InspectorControllers. Delete the setting cache if there
7425 are no more live controllers.
7426 (WebCore::InspectorController::setting): Check the cache and return the setting from there,
7427 otherwise make a new Setting and ask the client to populate it.
7428 (WebCore::InspectorController::setSetting): Change the cache and ask the client to store it.
7429 (WebCore::InspectorController::windowScriptObjectAvailable): Add setting and setSetting
7430 to the InspectorController script class.
7431 * inspector/InspectorController.h:
7432 (WebCore::InspectorController::Setting::Setting):
7433 (WebCore::InspectorController::Setting::operator=):
7434 (WebCore::InspectorController::Setting::type): Return m_type.
7435 (WebCore::InspectorController::Setting::string): Return m_string. Assert the type is correct.
7436 (WebCore::InspectorController::Setting::stringVector): Return m_stringVector.
7437 Assert the type is correct.
7438 (WebCore::InspectorController::Setting::doubleValue): Return m_simpleContent.m_double.
7439 Assert the type is correct.
7440 (WebCore::InspectorController::Setting::integerValue): Return m_simpleContent.m_integer.
7441 Assert the type is correct.
7442 (WebCore::InspectorController::Setting::booleanValue): Return m_simpleContent.m_boolean.
7443 Assert the type is correct.
7444 (WebCore::InspectorController::Setting::set): Overloaded for each data type, sets the right
7445 field and the type.
7446 * loader/EmptyClients.h:
7447 (WebCore::EmptyInspectorClient::populateSetting): Added, empty method.
7448 (WebCore::EmptyInspectorClient::storeSetting): Ditto.
7449 (WebCore::EmptyInspectorClient::removeSetting): Ditto.
7450
cwzwarich@webkit.org22ade9b2008-10-24 18:10:17 +000074512008-10-24 Cameron Zwarich <zwarich@apple.com>
7452
7453 Reviewed by Sam Weinig.
7454
7455 Remove some C-style casts.
7456
7457 * html/HTMLViewSourceDocument.cpp:
7458 (WebCore::HTMLViewSourceDocument::addViewSourceToken):
7459
darin@apple.com44331f82008-10-24 16:22:51 +000074602008-10-24 Darin Adler <darin@apple.com>
7461
7462 - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732
7463
7464 * bindings/js/JSAttrCustom.cpp:
7465 * bindings/js/JSCSSRuleCustom.cpp:
7466 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
7467 * bindings/js/JSCSSValueCustom.cpp:
7468 * bindings/js/JSCanvasPixelArrayCustom.h:
7469 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
7470 * bindings/js/JSClipboardCustom.cpp:
7471 * bindings/js/JSConsoleCustom.cpp:
7472 * bindings/js/JSCustomSQLStatementCallback.cpp:
7473 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
7474 * bindings/js/JSCustomSQLTransactionCallback.cpp:
7475 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
7476 * bindings/js/JSCustomVoidCallback.cpp:
7477 * bindings/js/JSCustomVoidCallback.h:
7478 * bindings/js/JSCustomXPathNSResolver.cpp:
7479 * bindings/js/JSCustomXPathNSResolver.h:
7480 * bindings/js/JSDOMApplicationCacheCustom.cpp:
7481 * bindings/js/JSDOMBinding.cpp:
7482 * bindings/js/JSDOMBinding.h:
7483 * bindings/js/JSDOMWindowBase.cpp:
7484 * bindings/js/JSDOMWindowBase.h:
7485 * bindings/js/JSDOMWindowCustom.cpp:
7486 * bindings/js/JSDOMWindowCustom.h:
7487 * bindings/js/JSDOMWindowShell.cpp:
7488 * bindings/js/JSDOMWindowShell.h:
7489 * bindings/js/JSDatabaseCustom.cpp:
7490 * bindings/js/JSDedicatedWorkerCustom.cpp:
7491 * bindings/js/JSDocumentCustom.cpp:
7492 * bindings/js/JSElementCustom.cpp:
7493 * bindings/js/JSEventCustom.cpp:
7494 * bindings/js/JSEventListener.cpp:
7495 * bindings/js/JSEventTarget.cpp:
7496 * bindings/js/JSEventTarget.h:
7497 * bindings/js/JSEventTargetBase.h:
7498 * bindings/js/JSEventTargetNodeCustom.cpp:
7499 * bindings/js/JSHTMLAllCollection.h:
7500 * bindings/js/JSHTMLAppletElementCustom.cpp:
7501 * bindings/js/JSHTMLCollectionCustom.cpp:
7502 * bindings/js/JSHTMLDocumentCustom.cpp:
7503 * bindings/js/JSHTMLEmbedElementCustom.cpp:
7504 * bindings/js/JSHTMLFormElementCustom.cpp:
7505 * bindings/js/JSHTMLFrameElementCustom.cpp:
7506 * bindings/js/JSHTMLFrameSetElementCustom.cpp:
7507 * bindings/js/JSHTMLIFrameElementCustom.cpp:
7508 * bindings/js/JSHTMLInputElementCustom.cpp:
7509 * bindings/js/JSHTMLObjectElementCustom.cpp:
7510 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
7511 * bindings/js/JSHTMLSelectElementCustom.cpp:
7512 * bindings/js/JSHTMLSelectElementCustom.h:
7513 * bindings/js/JSHistoryCustom.cpp:
7514 * bindings/js/JSImageDataCustom.cpp:
7515 * bindings/js/JSInspectedObjectWrapper.cpp:
7516 * bindings/js/JSInspectedObjectWrapper.h:
7517 * bindings/js/JSInspectorCallbackWrapper.cpp:
7518 * bindings/js/JSInspectorCallbackWrapper.h:
7519 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
7520 * bindings/js/JSLocationCustom.cpp:
7521 * bindings/js/JSMessagePortCustom.cpp:
7522 * bindings/js/JSMimeTypeArrayCustom.cpp:
7523 * bindings/js/JSNamedNodeMapCustom.cpp:
7524 * bindings/js/JSNamedNodesCollection.cpp:
7525 * bindings/js/JSNamedNodesCollection.h:
7526 * bindings/js/JSNavigatorCustom.cpp:
7527 * bindings/js/JSNodeCustom.cpp:
7528 * bindings/js/JSNodeFilterCondition.cpp:
7529 * bindings/js/JSNodeFilterCondition.h:
7530 * bindings/js/JSNodeFilterCustom.cpp:
7531 * bindings/js/JSNodeIteratorCustom.cpp:
7532 * bindings/js/JSNodeListCustom.cpp:
7533 * bindings/js/JSPluginArrayCustom.cpp:
7534 * bindings/js/JSPluginCustom.cpp:
7535 * bindings/js/JSPluginElementFunctions.cpp:
7536 * bindings/js/JSPluginElementFunctions.h:
7537 * bindings/js/JSQuarantinedObjectWrapper.cpp:
7538 * bindings/js/JSQuarantinedObjectWrapper.h:
7539 * bindings/js/JSRGBColor.cpp:
7540 * bindings/js/JSRGBColor.h:
7541 * bindings/js/JSSQLResultSetRowListCustom.cpp:
7542 * bindings/js/JSSQLTransactionCustom.cpp:
7543 * bindings/js/JSSVGElementInstanceCustom.cpp:
7544 * bindings/js/JSSVGLengthCustom.cpp:
7545 * bindings/js/JSSVGMatrixCustom.cpp:
7546 * bindings/js/JSSVGPathSegCustom.cpp:
7547 * bindings/js/JSSVGPathSegListCustom.cpp:
7548 * bindings/js/JSSVGPointListCustom.cpp:
7549 * bindings/js/JSSVGTransformListCustom.cpp:
7550 * bindings/js/JSStorageCustom.cpp:
7551 * bindings/js/JSStyleSheetCustom.cpp:
7552 * bindings/js/JSStyleSheetListCustom.cpp:
7553 * bindings/js/JSTextCustom.cpp:
7554 * bindings/js/JSTreeWalkerCustom.cpp:
7555 * bindings/js/JSXMLHttpRequestCustom.cpp:
7556 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
7557 * bindings/js/JSXSLTProcessorCustom.cpp:
7558 * bindings/js/ScheduledAction.cpp:
7559 * bindings/js/ScheduledAction.h:
7560 * bindings/js/ScriptController.cpp:
7561 * bindings/js/ScriptController.h:
7562 * bindings/objc/WebScriptObject.mm:
7563 * bindings/objc/WebScriptObjectPrivate.h:
7564 * bindings/scripts/CodeGeneratorJS.pm:
7565 * bridge/NP_jsobject.cpp:
7566 * bridge/c/c_instance.cpp:
7567 * bridge/c/c_instance.h:
7568 * bridge/c/c_runtime.cpp:
7569 * bridge/c/c_runtime.h:
7570 * bridge/c/c_utility.cpp:
7571 * bridge/c/c_utility.h:
7572 * bridge/jni/jni_instance.cpp:
7573 * bridge/jni/jni_instance.h:
7574 * bridge/jni/jni_jsobject.h:
7575 * bridge/jni/jni_jsobject.mm:
7576 * bridge/jni/jni_objc.mm:
7577 * bridge/jni/jni_runtime.cpp:
7578 * bridge/jni/jni_runtime.h:
7579 * bridge/jni/jni_utility.cpp:
7580 * bridge/jni/jni_utility.h:
7581 * bridge/objc/WebScriptObject.h:
7582 * bridge/objc/objc_class.h:
7583 * bridge/objc/objc_class.mm:
7584 * bridge/objc/objc_instance.h:
7585 * bridge/objc/objc_instance.mm:
7586 * bridge/objc/objc_runtime.h:
7587 * bridge/objc/objc_runtime.mm:
7588 * bridge/objc/objc_utility.h:
7589 * bridge/objc/objc_utility.mm:
7590 * bridge/qt/qt_class.cpp:
7591 * bridge/qt/qt_class.h:
7592 * bridge/qt/qt_instance.cpp:
7593 * bridge/qt/qt_instance.h:
7594 * bridge/qt/qt_runtime.cpp:
7595 * bridge/qt/qt_runtime.h:
7596 * bridge/runtime.cpp:
7597 * bridge/runtime.h:
7598 * bridge/runtime_array.cpp:
7599 * bridge/runtime_array.h:
7600 * bridge/runtime_method.cpp:
7601 * bridge/runtime_method.h:
7602 * bridge/runtime_object.cpp:
7603 * bridge/runtime_object.h:
7604 * bridge/testqtbindings.cpp:
7605 * inspector/JavaScriptCallFrame.cpp:
7606 * inspector/JavaScriptCallFrame.h:
7607 * inspector/JavaScriptProfile.cpp:
7608 * inspector/JavaScriptProfile.h:
7609 * inspector/JavaScriptProfileNode.cpp:
7610 * inspector/JavaScriptProfileNode.h:
7611 * loader/FrameLoader.cpp:
7612 * loader/FrameLoader.h:
7613 * page/Console.cpp:
7614 * page/Console.h:
7615 * plugins/MimeTypeArray.h:
7616 * plugins/Plugin.h:
7617 * plugins/PluginArray.h:
7618 * plugins/PluginView.cpp:
7619 * xml/XMLHttpRequest.cpp:
7620 Use JSValue* instead of JSValuePtr.
7621
hausmann@webkit.orgcffb4f42008-10-24 14:43:29 +000076222008-10-24 Simon Hausmann <hausmann@webkit.org>
7623
7624 Fix the Qt build.
7625
7626 * bridge/qt/qt_instance.cpp:
7627 (JSC::Bindings::QtField::valueFromInstance):
7628
ddkilzer@apple.com4f3c9aa2008-10-24 07:39:15 +000076292008-10-24 David Kilzer <ddkilzer@apple.com>
7630
7631 Rolled out r37840 and r37841.
7632
7633 * DerivedSources.make:
7634 * GNUmakefile.am:
7635 * WebCore.pro:
7636 * WebCore.vcproj/WebCore.vcproj:
7637 * WebCore.xcodeproj/project.pbxproj:
7638 * WebCoreSources.bkl:
7639 * bindings/js/JSCustomPositionCallback.cpp: Removed.
7640 * bindings/js/JSCustomPositionCallback.h: Removed.
7641 * bindings/js/JSCustomPositionErrorCallback.cpp: Removed.
7642 * bindings/js/JSCustomPositionErrorCallback.h: Removed.
7643 * bindings/js/JSDOMBinding.cpp:
7644 * bindings/js/JSDOMBinding.h:
7645 * bindings/js/JSDOMWindowCustom.cpp:
7646 (WebCore::markDOMObjectWrapper):
7647 * bindings/js/JSGeolocationCustom.cpp: Removed.
7648 * bindings/js/JSNavigatorCustom.cpp:
7649 * dom/Document.cpp:
7650 (WebCore::Document::Document):
7651 * dom/Document.h:
7652 * loader/FrameLoader.cpp:
7653 (WebCore::FrameLoader::canCachePage):
7654 * page/Geolocation.cpp: Removed.
7655 * page/Geolocation.h: Removed.
7656 * page/Geolocation.idl: Removed.
7657 * page/Geoposition.cpp: Removed.
7658 * page/Geoposition.h: Removed.
7659 * page/Geoposition.idl: Removed.
7660 * page/Navigator.cpp:
7661 (WebCore::Navigator::disconnectFrame):
7662 * page/Navigator.h:
7663 * page/Navigator.idl:
7664 * page/PositionCallback.h: Removed.
7665 * page/PositionCallback.idl: Removed.
7666 * page/PositionError.h: Removed.
7667 * page/PositionError.idl: Removed.
7668 * page/PositionErrorCallback.h: Removed.
7669 * page/PositionErrorCallback.idl: Removed.
7670 * page/PositionOptions.h: Removed.
7671 * page/PositionOptions.idl: Removed.
7672 * platform/GeolocationService.cpp: Removed.
7673 * platform/GeolocationService.h: Removed.
7674
ddkilzer@apple.com4a4be182008-10-24 05:39:28 +000076752008-10-23 David Kilzer <ddkilzer@apple.com>
7676
7677 Attempt to fix GTK build.
7678
7679 * GNUmakefile.am: Added new *.idl files that were missing.
7680
ddkilzer@apple.comc9e37fd2008-10-24 05:05:47 +000076812008-10-23 Greg Bolsinga <bolsinga@apple.com>
7682
7683 Reviewed by Sam Weinig.
7684
7685 https://bugs.webkit.org/show_bug.cgi?id=21475
7686
7687 Provide support for the Geolocation API
7688
7689 http://dev.w3.org/geo/api/spec-source.html
7690
7691 Test: geolocation/geolocation-not-implemented.html
7692
7693 * DerivedSources.make:
7694 * GNUmakefile.am: Added Geolocation support
7695 * WebCore.pro: Added Geolocation support
7696 * WebCore.vcproj/WebCore.vcproj: Added Geolocation support
7697 * WebCore.xcodeproj/project.pbxproj: Added Geolocation support
7698 * WebCoreSources.bkl: Added Geolocation support
7699 * bindings/js/JSCustomPositionCallback.cpp: Added.
7700 (WebCore::JSCustomPositionCallback::JSCustomPositionCallback):
7701 (WebCore::JSCustomPositionCallback::handleEvent):
7702 * bindings/js/JSCustomPositionCallback.h: Added.
7703 (WebCore::JSCustomPositionCallback::create):
7704 * bindings/js/JSCustomPositionErrorCallback.cpp: Added.
7705 (WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback):
7706 (WebCore::JSCustomPositionErrorCallback::handleEvent):
7707 * bindings/js/JSCustomPositionErrorCallback.h: Added.
7708 (WebCore::JSCustomPositionErrorCallback::create):
7709 * bindings/js/JSDOMBinding.cpp: move markDOMObjectWrapper here from JSDOMWindowCustom
7710 (WebCore::markDOMObjectWrapper):
7711 * bindings/js/JSDOMBinding.h: move markDOMObjectWrapper here from JSDOMWindowCustom
7712 * bindings/js/JSDOMWindowCustom.cpp: move markDOMObjectWrapper to JSDOMBinding
7713 * bindings/js/JSGeolocationCustom.cpp: Added.
7714 (WebCore::JSGeolocation::getCurrentPosition):
7715 (WebCore::JSGeolocation::watchPosition):
7716 * bindings/js/JSNavigatorCustom.cpp: handle marking Geolocation
7717 (WebCore::JSNavigator::mark):
7718 * dom/Document.cpp:
7719 (WebCore::Document::Document):
7720 * dom/Document.h:
7721 (WebCore::Document::setUsingGeolocation):
7722 (WebCore::Document::usingGeolocation):
7723 * loader/FrameLoader.cpp: don't add to back forward cache if using Geolocation
7724 (WebCore::FrameLoader::canCachePage):
7725 * page/Geolocation.cpp: Added.
7726 (WebCore::Geolocation::GeoNotifier::GeoNotifier):
7727 (WebCore::Geolocation::GeoNotifier::timerFired):
7728 (WebCore::Geolocation::Geolocation):
7729 (WebCore::Geolocation::disconnectFrame):
7730 (WebCore::Geolocation::getCurrentPosition):
7731 (WebCore::Geolocation::watchPosition):
7732 (WebCore::Geolocation::clearWatch):
7733 (WebCore::Geolocation::stopUpdatingIfEmpty):
7734 (WebCore::Geolocation::sendErrorToOneShots):
7735 (WebCore::Geolocation::sendErrorToWatchers):
7736 (WebCore::Geolocation::sendPositionToOneShots):
7737 (WebCore::Geolocation::sendPositionToWatchers):
7738 (WebCore::Geolocation::handleError):
7739 (WebCore::Geolocation::geolocationServicePositionChanged):
7740 (WebCore::Geolocation::geolocationServiceErrorOccurred):
7741 * page/Geolocation.h: Added.
7742 (WebCore::Geolocation::create):
7743 (WebCore::Geolocation::~Geolocation):
7744 (WebCore::Geolocation::lastPosition):
7745 (WebCore::Geolocation::GeoNotifier::create):
7746 * page/Geolocation.idl: Added.
7747 * page/Geoposition.cpp: Added.
7748 (WebCore::Geoposition::toString):
7749 * page/Geoposition.h: Added.
7750 (WebCore::Geoposition::create):
7751 (WebCore::Geoposition::latitude):
7752 (WebCore::Geoposition::longitude):
7753 (WebCore::Geoposition::altitude):
7754 (WebCore::Geoposition::accuracy):
7755 (WebCore::Geoposition::altitudeAccuracy):
7756 (WebCore::Geoposition::heading):
7757 (WebCore::Geoposition::velocity):
7758 (WebCore::Geoposition::timestamp):
7759 (WebCore::Geoposition::Geoposition):
7760 * page/Geoposition.idl: Added.
7761 * page/Navigator.cpp:
7762 (WebCore::Navigator::disconnectFrame): disconnect Geolocation
7763 (WebCore::Navigator::geolocation): accessor for Geolocation
7764 * page/Navigator.h:
7765 (WebCore::Navigator::optionalGeolocation): accessor for Geolocation
7766 * page/Navigator.idl: accessor for Geolocation
7767 * page/PositionCallback.h: Added.
7768 (WebCore::PositionCallback::~PositionCallback):
7769 * page/PositionCallback.idl: Added.
7770 * page/PositionError.h: Added.
7771 (WebCore::PositionError::):
7772 (WebCore::PositionError::create):
7773 (WebCore::PositionError::code):
7774 (WebCore::PositionError::message):
7775 (WebCore::PositionError::PositionError):
7776 * page/PositionError.idl: Added.
7777 * page/PositionErrorCallback.h: Added.
7778 (WebCore::PositionErrorCallback::~PositionErrorCallback):
7779 * page/PositionErrorCallback.idl: Added.
7780 * page/PositionOptions.h: Added.
7781 (WebCore::PositionOptions::create):
7782 (WebCore::PositionOptions::enableHighAccuracy):
7783 (WebCore::PositionOptions::setEnableHighAccuracy):
7784 (WebCore::PositionOptions::timeout):
7785 (WebCore::PositionOptions::setTimeout):
7786 (WebCore::PositionOptions::PositionOptions):
7787 * page/PositionOptions.idl: Added.
7788 * platform/GeolocationService.cpp: Added.
7789 (WebCore::GeolocationService::GeolocationService):
7790 (WebCore::GeolocationService::positionChanged):
7791 (WebCore::GeolocationService::errorOccurred):
7792 * platform/GeolocationService.h: Added.
7793 (WebCore::GeolocationServiceClient::~GeolocationServiceClient):
7794 (WebCore::GeolocationServiceClient::geolocationServicePositionChanged):
7795 (WebCore::GeolocationServiceClient::geolocationServiceErrorOccurred):
7796 (WebCore::GeolocationService::~GeolocationService):
7797
alp@webkit.org4e4aac32008-10-24 04:52:50 +000077982008-10-23 Alp Toker <alp@nuanti.com>
7799
7800 Fix typo in comment in previous commit. GTK -> GLIB
7801
7802 * platform/gtk/guriescape.c:
7803
alp@webkit.org274a3a12008-10-24 04:32:51 +000078042008-10-23 Kalle Vahlman <kalle.vahlman@movial.com>
7805
7806 Reviewed by Alp Toker.
7807
7808 https://bugs.webkit.org/show_bug.cgi?id=21824
7809 [GTK] FileSystem abstraction uses features from Glib 2.16
7810
7811 Wrap g_uri_unescape_string() to fix building with pre-2.16 Glib
7812
7813 * platform/gtk/guriescape.c:
7814 (unescape_character):
7815 (_webcore_g_uri_unescape_segment):
7816 (_webcore_g_uri_unescape_string):
7817 * platform/gtk/guriescape.h:
7818
jmalonzo@webkit.orga721ed52008-10-24 03:44:10 +000078192008-10-23 Jan Michael Alonzo <jmalonzo@webkit.org>
7820
7821 Fix Gtk build typo introduced in http://trac.webkit.org/changeset/37826.
7822
7823 * GNUmakefile.am:
7824
darin@chromium.org65ff24c2008-10-24 01:04:33 +000078252008-10-23 Darin Fisher <darin@chromium.org>
7826
7827 Reviewed by Eric Seidel.
7828
7829 m_frame null checked but then dereferenced
7830 https://bugs.webkit.org/show_bug.cgi?id=21845
7831
7832 This error was found using a static analysis tool, and so I do not know
7833 how to produce a null m_frame on entry to this method. Hence, I have
7834 not included a regression test.
7835
7836 * page/EventHandler.cpp:
7837 (WebCore::EventHandler::allowDHTMLDrag): Add an early return.
7838
mitz@apple.com83d2e872008-10-23 21:56:03 +000078392008-10-23 Dan Bernstein <mitz@apple.com>
7840
7841 Reviewed by Sam Weinig with no hesitation.
7842
7843 - fix the HTML/CSS case of https://bugs.webkit.org/show_bug.cgi?id=19839
7844 <rdar://problem/6304805> A PDF,RLE sequence that should be a no-op affects bidi reordering
7845
7846 Test: fast/text/bidi-embedding-pop-and-push-same.html
7847
7848 * platform/text/BidiResolver.h:
7849 (WebCore::BidiResolver::embed): Changed to only add the embedding
7850 operation to a vector of pending operations.
7851
7852 (WebCore::BidiResolver::lowerExplicitEmbeddingLevel): Added. Moved the
7853 code that used to be in the PDF case of embed() here, except the part
7854 that sets the context.
7855
7856 (WebCore::BidiResolver::raiseExplicitEmbeddingLevel): Added. Moved the
7857 code that used to be in the non-PDF case of embed() here, except the
7858 part the sets the context.
7859
7860 (WebCore::BidiResolver::commitExplicitEmbedding): Added. Processes the
7861 explicit embedding operations in the vector by creating an updated
7862 context and determining the old and new embedding levels. If the levels
7863 are not the same, calls {lower,raise}ExplicitEmbeddingLevel(). Always
7864 sets the context to the new one.
7865
7866 (WebCore::BidiResolver::createBidiRunsForLine): Added calls to
7867 commitExplicitEmbedding() after calling embed() and after calling
7868 increment().
7869
7870 * rendering/bidi.cpp:
7871 (WebCore::bidiFirst): Added calls to commitExplicitEmbedding() because
7872 this function increments the resolver.
7873
7874 (WebCore::RenderBlock::skipLeadingWhitespace): Ditto.
7875
jmalonzo@webkit.org2af1d5f2008-10-23 21:24:14 +000078762008-10-23 Jan Michael Alonzo <jmalonzo@webkit.org>
7877
7878 Gtk build fix. Not reviewed.
7879
7880 Add DNSCurl and DNSSoup to the Gtk build
7881
7882 * GNUmakefile.am:
7883 * platform/gtk/TemporaryLinkStubs.cpp:
7884 * platform/network/soup/DNSSoup.cpp: Copied from WebCore/platform/network/curl/DNSCurl.cpp.
7885 (WebCore::prefetchDNS):
7886
eric@webkit.org378afbe2008-10-23 21:17:27 +000078872008-10-23 Eric Seidel <eric@webkit.org>
7888
7889 Reviewed by Sam Weinig.
7890
7891 Un-break the Darwin build.
7892
7893 * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
7894 * platform/graphics/cg/ImageCG.cpp:
7895
darin@chromium.org9573fd42008-10-23 21:13:50 +000078962008-10-23 Darin Fisher <darin@chromium.org>
7897
7898 Reviewed by Eric Seidel.
7899
7900 Fix forward decls to be struct instead of class.
7901 https://bugs.webkit.org/show_bug.cgi?id=21838
7902
7903 * rendering/style/StyleRareInheritedData.h:
7904 * rendering/style/StyleRareNonInheritedData.h:
7905
weinig@apple.combb96c632008-10-23 20:36:25 +000079062008-10-23 Brent Fulgham <bfulgham@gmail.com>
7907
7908 Reviewed by Oliver Hunt.
7909
7910 * platform/network/curl/ResourceRequest.h: A better implementation
7911 of CFURLRequest, rather than void*. This gives better compatibility
7912 with the WebKit.idl interface.
7913 (WebCore::ResourceRequest::cfURLRequest):
7914
eric@webkit.orgb7074c02008-10-23 19:59:42 +000079152008-10-23 Mike Pinkerton <pinkerton@chromium.org>
7916
7917 Reviewed by Eric Seidel.
7918
7919 PLATFORM(CHROMIUM) uses CG the same way PLATFORM(MAC) does so fix
7920 ifdefs to reflect that.
7921
7922 * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
7923 * platform/graphics/cg/ImageCG.cpp:
7924
pkasting@chromium.org586415d2008-10-23 19:37:35 +000079252008-10-23 Peter Kasting <pkasting@google.com>
7926
7927 Reviewed by Adam Roben.
7928
7929 https://bugs.webkit.org/show_bug.cgi?id=21833
7930 Place JavaScript Debugger hooks under #if ENABLE(JAVASCRIPT_DEBUGGER).
7931
7932 * inspector/InspectorController.cpp:
7933 (WebCore::InspectorController::InspectorController):
7934 (WebCore::InspectorController::setWindowVisible):
7935 (WebCore::InspectorController::windowScriptObjectAvailable):
7936 (WebCore::InspectorController::close):
7937 * inspector/InspectorController.h:
7938 * page/Page.cpp:
7939 (WebCore::Page::Page):
7940
kmccullough@apple.comd7e4bf72008-10-23 18:33:46 +000079412008-10-23 Kevin McCullough <kmccullough@apple.com>
7942
7943 Reviewed by Tim Hatcher.
7944
7945 https://bugs.webkit.org/show_bug.cgi?id=21817
7946 Bug 21817: Manual profiler tests should be made into layout tests
7947
7948 -Moving the tests before diffing so that it's clear what changed.
7949
7950 * manual-tests/inspector/profiler-test-anonymous-event-handler.html: Removed.
7951 * manual-tests/inspector/profiler-test-anonymous-function-called-from-different-contexts.html: Removed.
7952 * manual-tests/inspector/profiler-test-anonymous-function-calls-built-in-functions.html: Removed.
7953 * manual-tests/inspector/profiler-test-anonymous-function-calls-eval.html: Removed.
7954 * manual-tests/inspector/profiler-test-apply.html: Removed.
7955 * manual-tests/inspector/profiler-test-built-in-function-calls-anonymous.html: Removed.
7956 * manual-tests/inspector/profiler-test-built-in-function-calls-user-defined-function.html: Removed.
7957 * manual-tests/inspector/profiler-test-call-nodelist-as-function.html: Removed.
7958 * manual-tests/inspector/profiler-test-calling-the-function-that-started-the-profiler-from-another-scope.html: Removed.
7959 * manual-tests/inspector/profiler-test-compare-multiple-profiles.html: Removed.
7960 * manual-tests/inspector/profiler-test-constructor.html: Removed.
7961 * manual-tests/inspector/profiler-test-dead-time.html: Removed.
7962 * manual-tests/inspector/profiler-test-deep-recursion.html: Removed.
7963 * manual-tests/inspector/profiler-test-document-dot-write.html: Removed.
7964 * manual-tests/inspector/profiler-test-event-handler.html: Removed.
7965 * manual-tests/inspector/profiler-test-execution-context-and-eval-on-same-line.html: Removed.
7966 * manual-tests/inspector/profiler-test-heavy-view.html: Removed.
7967 * manual-tests/inspector/profiler-test-inline-event-handler.html: Removed.
7968 * manual-tests/inspector/profiler-test-multiple-and-different-scoped-anonymous-function-calls.html: Removed.
7969 * manual-tests/inspector/profiler-test-multiple-and-different-scoped-function-calls.html: Removed.
7970 * manual-tests/inspector/profiler-test-multiple-frames.html: Removed.
7971 * manual-tests/inspector/profiler-test-multiple-windows.html: Removed.
7972 * manual-tests/inspector/profiler-test-nested-anonymous-functon.html: Removed.
7973 * manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html: Removed.
7974 * manual-tests/inspector/profiler-test-no-execution-context.html: Removed.
7975 * manual-tests/inspector/profiler-test-one-execution-context.html: Removed.
7976 * manual-tests/inspector/profiler-test-profile-calls-in-included-file.html: Removed.
7977 * manual-tests/inspector/profiler-test-profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting.html: Removed.
7978 * manual-tests/inspector/profiler-test-profiling-from-a-nested-location.html: Removed.
7979 * manual-tests/inspector/profiler-test-simple-event-call.html: Removed.
7980 * manual-tests/inspector/profiler-test-simple-no-level-change.html: Removed.
7981 * manual-tests/inspector/profiler-test-start-and-stop-profiler-multiple-times.html: Removed.
7982 * manual-tests/inspector/profiler-test-start-and-stop-profiling-in-the-same-function.html: Removed.
7983 * manual-tests/inspector/profiler-test-start-but-dont-stop-profiling.html: Removed.
7984 * manual-tests/inspector/profiler-test-stop-profiling-after-setTimeout.html: Removed.
7985 * manual-tests/inspector/profiler-test-stop-then-function-call.html: Removed.
7986 * manual-tests/inspector/profiler-test-throw-exception-from-eval.html: Removed.
7987 * manual-tests/inspector/profiler-test-two-execution-contexts.html: Removed.
7988 * manual-tests/inspector/profiler-test-user-defined-function-calls-built-in-functions.html: Removed.
7989 * manual-tests/inspector/profiler-test-window-dot-eval.html: Removed.
7990 * manual-tests/inspector/resources/other-frame.html: Removed.
7991 * manual-tests/inspector/resources/other-window.html: Removed.
7992 * manual-tests/inspector/resources/profiler-test-JS-resources.js: Removed.
7993
abarth@webkit.org31873302008-10-23 17:07:24 +000079942008-10-23 Adam Barth <abarth@webkit.org>
7995
7996 Reviewed by Sam Weinig.
7997
7998 https://bugs.webkit.org/show_bug.cgi?id=21826
7999
8000 Add accessor for SecurityOrigin::m_domainWasSetInDOM.
8001
8002 * page/SecurityOrigin.h:
8003 (WebCore::SecurityOrigin::domainWasSetInDOM):
8004
darin@apple.com3f537b92008-10-23 15:55:41 +000080052008-10-23 Darin Adler <darin@apple.com>
8006
8007 - roll out https://bugs.webkit.org/show_bug.cgi?id=21732
8008
8009 * bindings/js/ScheduledAction.h:
8010 * inspector/InspectorController.cpp:
8011 ProtectedPtr<JSValue> instead of ProtectedPtr<JSValuePtr>.
8012
hausmann@webkit.org7ff09a42008-10-23 12:27:41 +000080132008-10-23 Simon Hausmann <hausmann@webkit.org>
8014
8015 Fix the Qt build.
8016
8017 * bridge/qt/qt_runtime.cpp:
8018 (JSC::Bindings::QtConnectionObject::execute):
8019 * bridge/qt/qt_runtime.h:
8020 (JSC::Bindings::QtRuntimeMethod::createStructureID):
8021
ap@webkit.org76544c12008-10-23 10:15:55 +000080222008-10-23 Alexey Proskuryakov <ap@webkit.org>
8023
8024 Reviewed by Maciej Stachowiak.
8025
8026 https://bugs.webkit.org/show_bug.cgi?id=21825
8027 JSDOMBinding should not blindly cast the global object to JSDOMWindow
8028
8029 * bindings/js/JSDOMGlobalObject.cpp:
8030 * bindings/js/JSDOMGlobalObject.h:
8031 * GNUmakefile.am:
8032 * WebCore.pro:
8033 * WebCore.vcproj/WebCore.vcproj:
8034 * WebCore.xcodeproj/project.pbxproj:
8035 * WebCoreSources.bkl:
8036 Added JSDOMGlobalObject, a base class to be used by both Window and worker contexts.
8037
8038 * bindings/js/JSDOMBinding.cpp:
8039 (WebCore::getCachedDOMStructure):
8040 (WebCore::cacheDOMStructure):
8041 (WebCore::getCachedDOMConstructor):
8042 (WebCore::cacheDOMConstructor):
8043 Cast to JSDOMGlobalObject, as DOM objects live in DOM global objects.
8044
8045 * bindings/js/JSDOMWindowBase.cpp:
8046 (WebCore::JSDOMWindowBase::JSDOMWindowBase):
8047 * bindings/js/JSDOMWindowBase.h:
8048 * bindings/js/JSDOMWindowCustom.cpp:
8049 (WebCore::JSDOMWindow::mark):
8050 Moved constructor and structure tracking to JSDOMGlobalObject.
8051
abarth@webkit.org48cade32008-10-23 09:43:34 +000080522008-10-23 Adam Barth <abarth@webkit.org>
8053
8054 Reviewed by Sam Weinig.
8055
8056 https://bugs.webkit.org/show_bug.cgi?id=21787
8057
8058 Update postMessage to send origin = "null" for non-serializable
8059 origins to match latest spec. Merge SecurityOrigin::toString and
8060 SecurityOrigin::toHTTPOrigin because they are now the same.
8061
8062 Test: http/tests/security/postMessage/data-url-sends-null-origin.html
8063
8064 * loader/FrameLoader.cpp:
8065 (WebCore::FrameLoader::outgoingOrigin):
8066 (WebCore::FrameLoader::loadURL):
8067 (WebCore::FrameLoader::addHTTPOriginIfNeeded):
8068 (WebCore::FrameLoader::loadItem):
8069 * loader/loader.cpp:
8070 (WebCore::Loader::Host::servePendingRequests):
8071 * page/SecurityOrigin.cpp:
8072 (WebCore::SecurityOrigin::toString):
8073 * page/SecurityOrigin.h:
8074 * xml/XMLHttpRequest.cpp:
8075 (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
8076 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
8077 (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
8078 (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
8079
ddkilzer@apple.com5c2a8892008-10-23 02:53:02 +000080802008-10-22 David Kilzer <ddkilzer@apple.com>
8081
8082 Bug 21781: WebCore::Settings should have a maximum decoded image size setting
8083
8084 <https://bugs.webkit.org/show_bug.cgi?id=21781>
8085
8086 Reviewed by Antti.
8087
8088 No tests since there is no change in behavior.
8089
8090 * loader/CachedImage.cpp:
8091 (WebCore::CachedImage::maximumDecodedImageSize): Added. Returns
8092 WebCore::Settings::maximumDecodedImageSize() or 0 on error.
8093 (WebCore::CachedImage::data): Flag an error if the image being
8094 loaded is too big.
8095 * loader/CachedImage.h:
8096 (WebCore::CachedImage::maximumDecodedImageSize): Added declaration.
8097 * page/Settings.cpp:
8098 (WebCore::Settings::Settings): Initialize m_maximumDecodedImageSize
8099 to the maximum value of size_t.
8100 * page/Settings.h:
8101 (WebCore::Settings::setMaximumDecodedImageSize): Added method.
8102 (WebCore::Settings::maximumDecodedImageSize): Ditto.
8103
darin@apple.com3fb46e42008-10-23 01:43:37 +000081042008-10-22 Mike Pinkerton <pinkerton@chromium.org>
8105
8106 Reviewed by Dan Bernstein.
8107 Landed and tweaked a bit by Darin Adler.
8108
8109 - fix https://bugs.webkit.org/show_bug.cgi?id=21809
8110
8111 Remove PLATFORM(MAC) wrapping USE(ATSUI). It's redundant and inhibits
8112 its use for PLATFORM(CHROMIUM) in the future.
8113
8114 * platform/graphics/SimpleFontData.h:
8115
dsmith@webkit.org102296e2008-10-23 00:49:27 +000081162008-10-22 David Smith <catfish.man@gmail.com>
8117
darin@apple.com3fb46e42008-10-23 01:43:37 +00008118 Reviewed by Anders Carlsson.
dsmith@webkit.org102296e2008-10-23 00:49:27 +00008119
8120 https://bugs.webkit.org/show_bug.cgi?id=19974
8121 getElementsByClassName not live enough
8122
8123 Test: fast/dom/getElementsByClassName/015.html
8124
8125 * dom/StyledElement.cpp:
8126 (WebCore::StyledElement::classAttributeChanged): call dispatchSubtreeModifiedEvent()
8127
darin@apple.com74e6ed62008-10-23 00:11:11 +000081282008-10-22 Darin Adler <darin@apple.com>
8129
8130 Reviewed by Sam Weinig.
8131
8132 - fix https://bugs.webkit.org/show_bug.cgi?id=21294
8133 Bug 21294: Devirtualize getOwnPropertySlot()
8134
8135 * bindings/js/JSDOMWindowShell.h:
8136 (WebCore::JSDOMWindowShell::createStructureID): Added. Returns a structure without
8137 HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
8138
8139 * bindings/js/JSInspectorCallbackWrapper.cpp:
8140 (WebCore::JSInspectorCallbackWrapper::wrap): Change to use a unique structure
8141 for this class rather than sharing nullProtoStructureID, which no longer exists.
8142
8143 * bindings/js/JSNamedNodesCollection.h:
8144 (WebCore::JSNamedNodesCollection::createStructureID): Added. Returns a structure without
8145 HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
8146 * bindings/js/JSRGBColor.h:
8147 (WebCore::JSRGBColor::createStructureID): Ditto.
8148
8149 * bindings/scripts/CodeGeneratorJS.pm: Added createStructureID functions for the wrappers,
8150 constructors, and prototypes in any case where they override getOwnPropertySlot, without
8151 HasStandardGetOwnPropertySlot.
8152
8153 * bridge/objc/objc_runtime.h:
8154 (JSC::Bindings::ObjcFallbackObjectImp::createStructureID): Added. Returns a structure
8155 without HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
8156 * bridge/qt/qt_runtime.h:
8157 (JSC::Bindings::QtRuntimeMethod::createStructureID): Ditto.
8158 * bridge/runtime_array.h:
8159 (JSC::RuntimeArray::createStructureID): Ditto.
8160 * bridge/runtime_method.h:
8161 (JSC::RuntimeMethod::createStructureID): Ditto.
8162 * bridge/runtime_object.h:
8163 (JSC::RuntimeObjectImp::createStructureID): Ditto.
8164
aroben@apple.comf4c75612008-10-22 23:33:58 +000081652008-10-22 Brent Fulgham <bfulgham@gmail.com>
8166
aroben@apple.com21fec102008-10-22 23:34:22 +00008167 Bring Windows Cairo Port's font handling in line with CG.
8168 http://bugs.webkit.org/show_bug.cgi?id=21812.
8169
8170 Reviewed by Adam Roben.
8171
8172 * platform/graphics/win/FontCacheWin.cpp:
8173 (WebCore::createGDIFont): Remove unnecessary special-case for Cairo
8174 TrueType font search. It should match CG in all font selections.
8175
81762008-10-22 Brent Fulgham <bfulgham@gmail.com>
8177
aroben@apple.comf4c75612008-10-22 23:33:58 +00008178 http://bugs.webkit.org/show_bug.cgi?id=21812.
8179 Bring Windows Cairo Port's font handling in line with CG.
8180
8181 Reviewed by David Hyatt.
8182
8183 * platform/graphics/win/FontCacheWin.cpp:
8184 (WebCore::createGDIFont): Remove unnecessary special-case for Cairo TrueType font search. It should match CG in all font selections.
8185
beidson@apple.comb90e6aa2008-10-22 23:06:53 +000081862008-10-22 Brady Eidson <beidson@apple.com>
8187
8188 Reviewed by Adam Roben
8189
8190 <rdar://6261773> - autocomplete="off" doesn't work on Windows
8191
8192 Visual Studio makes a poor decision regarding the combination of enums and bitfields, such that a
8193 statement like "m_autocomplete = Off" followed by "return m_autocomplete == Off" would return "false"
8194 instead of the much more correct "true."
8195
8196 In the past we have worked around this by declaring the bitfield member as an unsigned instead
8197 of the enum type.
8198
8199 For more discussion, see http://trac.webkit.org/changeset/25329
8200
8201 * html/HTMLInputElement.h: Work around insane Visual Studio enum issue *sigh*
8202
kmccullough@apple.com0435f782008-10-22 23:04:00 +000082032008-10-22 Kevin McCullough <kmccullough@apple.com>
8204
8205 Reviewed by Oliver Hunt and Tim Hatcher.
8206
8207 https://bugs.webkit.org/show_bug.cgi?id=19225
8208 Bug 19225: JSProfiler: Create automated profiler tests
8209 - This change exports profiles on the console object so that they can be
8210 iterated over via JavaScript, and thus can be used in automated tests.
8211
8212 * bindings/js/JSConsoleCustom.cpp: Get the profiles and return an array
8213 that JS can use.
8214 (WebCore::JSConsole::profiles):
8215 * inspector/InspectorController.h: Use the new typedef.
8216 (WebCore::InspectorController::profiles):
8217 * page/Console.cpp: Keep our own array of profile objects.
8218 (WebCore::Console::profileEnd):
8219 * page/Console.h: Ditto.
8220 (WebCore::Console::profiles):
8221 * page/Console.idl: Expose the profiles to JS.
8222
hyatt@apple.comaf225eb2008-10-22 21:51:23 +000082232008-10-22 David Hyatt <hyatt@apple.com>
8224
8225 https://bugs.webkit.org/show_bug.cgi?id=21775
8226
8227 Convert buttons over to use the new Theme API on OS X.
8228
8229 Reviewed by Adam Roben
8230
8231 * platform/LengthBox.h:
8232 (WebCore::LengthBox::LengthBox):
8233 * platform/Theme.cpp:
8234 (WebCore::Theme::controlBorder):
8235 (WebCore::Theme::controlPadding):
8236 * platform/Theme.h:
8237 (WebCore::Theme::controlFont):
8238 (WebCore::Theme::controlSize):
8239 (WebCore::Theme::minControlSize):
8240 (WebCore::Theme::controlRequiresPreWhiteSpace):
8241 * platform/mac/ThemeMac.h:
8242 (WebCore::ThemeMac::controlRequiresPreWhiteSpace):
8243 * platform/mac/ThemeMac.mm:
8244 (WebCore::checkboxSize):
8245 (WebCore::radioSize):
8246 (WebCore::buttonSizes):
8247 (WebCore::buttonMargins):
8248 (WebCore::button):
8249 (WebCore::paintButton):
8250 (WebCore::ThemeMac::controlFont):
8251 (WebCore::ThemeMac::controlSize):
8252 (WebCore::ThemeMac::minControlSize):
8253 (WebCore::ThemeMac::controlBorder):
8254 (WebCore::ThemeMac::controlPadding):
8255 (WebCore::ThemeMac::inflateControlPaintRect):
8256 (WebCore::ThemeMac::paint):
8257 * rendering/RenderTheme.cpp:
8258 (WebCore::RenderTheme::adjustStyle):
8259 (WebCore::RenderTheme::paint):
8260 (WebCore::RenderTheme::controlStatesForRenderer):
8261 (WebCore::RenderTheme::isDefault):
8262 (WebCore::RenderTheme::adjustRadioStyle):
8263 * rendering/RenderTheme.h:
8264 (WebCore::RenderTheme::setRadioSize):
8265 * rendering/RenderThemeMac.h:
8266 * rendering/RenderThemeMac.mm:
8267 (WebCore::RenderThemeMac::adjustRepaintRect):
8268 (WebCore::menuListButtonSizes):
8269 (WebCore::RenderThemeMac::adjustMenuListStyle):
8270 * rendering/style/RenderStyle.h:
8271 (WebCore::InheritedFlags::paddingBox):
8272 (WebCore::InheritedFlags::setPaddingBox):
8273
simon.fraser@apple.coma2a27b52008-10-22 19:35:52 +000082742008-10-22 Chris Marrin <cmarrin@apple.com>
8275
8276 Reviewed by Dave Hyatt
8277
8278 Make sure that the AtomicString that identifies a set of animation keyframes
8279 stays live by keeping a copy in the WebKitCSSKeyframesRule.
8280
8281 Also call styleSheetChanged() when the keyframes name changes, but
8282 add an internal method that doesn't call styleSheetChanged() for use
8283 during normal stylesheet parsing.
8284
8285 Test: animations/change-keyframes-name.html
8286
8287 * css/CSSGrammar.y:
8288 * css/WebKitCSSKeyframesRule.cpp:
8289 (WebCore::WebKitCSSKeyframesRule::setName):
8290 * css/WebKitCSSKeyframesRule.h:
8291 (WebCore::WebKitCSSKeyframesRule::setNameInternal):
8292
ap@webkit.org6ed149d2008-10-22 17:43:26 +000082932008-10-22 Alexey Proskuryakov <ap@webkit.org>
8294
8295 Reviewed by Sam Weinig.
8296
8297 https://bugs.webkit.org/show_bug.cgi?id=21791
8298 WebCore JS bindings should be able to use non-static hash tables for properties
8299
8300 Add a map for HashTables to WebCore JS client data.
8301
8302 This makes property access noticeably slower, so it is an opt-in. For classes that need to be
8303 supported in workers in forseeable future this is not critical.
8304
8305 * bindings/js/JSDOMBinding.cpp:
8306 (WebCore::DOMObjectHashTableMap::get):
8307 (WebCore::DOMObjectHashTableMap::mapFor):
8308 (WebCore::getHashTableForGlobalData):
8309 (WebCore::DOMObjectWrapperMap::mapFor):
8310 WebCore client data is now a class that contains both a DOM wrapper map and a property hash
8311 table one.
8312
8313 * bindings/js/JSDOMBinding.h: Added getHashTableForGlobalData() to query the hash table map.
8314
8315 * bindings/scripts/CodeGeneratorJS.pm: If the class has a NoStaticTables attribute, use
8316 JSDOMBinding map to access its property hash tables.
8317
8318 * dom/MessageChannel.idl:
8319 * dom/MessagePort.idl:
8320 Added NoStaticTables attribute.
8321
alp@webkit.org8d1d4c92008-10-22 13:55:06 +000083222008-10-22 Gustavo Noronha Silva <gns@gnome.org>
8323
8324 Reviewed by Timothy Hatcher.
8325
8326 Build failure because of missing include
8327 https://bugs.webkit.org/show_bug.cgi?id=21765
8328
8329 Build failure fix for WebKit/GTK+; added missing
8330 include (GOwnPtr.h)
8331
8332 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
8333
alp@webkit.orgee7dc252008-10-22 10:38:23 +000083342008-10-22 Alp Toker <alp@nuanti.com>
8335
alp@webkit.org197960d2008-10-22 13:51:16 +00008336 Reviewed by Adam Roben.
8337
8338 Fix crashes on older GTK+ versions (2.8). gtk_widget_style_get()
8339 doesn't initialize values if the requested property doesn't exist, so
8340 initialize the values to the documented defaults before calling it
8341 where necessary. Additionally, avoid critical warnings by not calling
8342 gtk_widget_style_get() when we know the property isn't available.
8343
8344 Note that this is an imported source file which doesn't follow the
8345 WebKit coding style.
8346
8347 * platform/gtk/gtk2drawing.c:
8348 (moz_gtk_init):
8349 (moz_gtk_button_get_inner_border):
8350 (moz_gtk_combo_box_paint):
8351 (moz_gtk_toolbar_separator_paint):
8352 (moz_gtk_menu_separator_paint):
8353 (moz_gtk_get_widget_border):
8354 (moz_gtk_get_tab_scroll_arrow_size):
8355 (moz_gtk_get_toolbar_separator_width):
8356 (moz_gtk_get_menu_separator_height):
8357
83582008-10-22 Alp Toker <alp@nuanti.com>
8359
alp@webkit.orgee7dc252008-10-22 10:38:23 +00008360 Fix build for Cairo 1.2.
8361
8362 * platform/graphics/cairo/GraphicsContextCairo.cpp:
8363 (WebCore::GraphicsContext::clipOut):
8364 * platform/gtk/RenderThemeGtk.cpp:
8365 (WebCore::paintMozWidget):
8366
darin@chromium.orga740bfe2008-10-22 07:56:41 +000083672008-10-22 Darin Fisher <darin@chromium.org>
8368
8369 Reviewed by Eric Seidel.
8370
8371 A little more PLATFORM(CHROMIUM) in WebCore
8372 https://bugs.webkit.org/show_bug.cgi?id=21758
8373
8374 * page/AccessibilityObject.h:
8375 * platform/graphics/Icon.h:
8376
ap@webkit.org4c610c02008-10-22 06:07:32 +000083772008-10-21 Alexey Proskuryakov <ap@webkit.org>
8378
8379 Reviewed by Darin Adler.
8380
8381 Test: fast/events/message-channel-gc-3.html
8382
8383 https://bugs.webkit.org/show_bug.cgi?id=21769
8384 MessagePort should be GC protected if there are messages to be delivered
8385
8386 * dom/MessagePort.h: Removed pending activity count. Now we track if a close event is
8387 pending, and check if the queue is non-empty.
8388 (WebCore::MessagePort::workerContext): Added a stub implementation for a cross-heap GC bug
8389 fix (below).
8390
8391 * dom/MessagePort.cpp:
8392 (WebCore::CloseMessagePortTimer::fired):
8393 (WebCore::MessagePort::MessagePort):
8394 (WebCore::MessagePort::queueCloseEvent):
8395 (WebCore::MessagePort::dispatchCloseEvent):
8396 (WebCore::MessagePort::hasPendingActivity):
8397 Track message and close event activity separately.
8398
8399 * bindings/js/JSDOMBinding.cpp:
8400 (WebCore::markCrossHeapDependentObjectsForDocument): Fixed a bug in cross-heap GC that was
8401 causing same-heap ports to never be deleted.
8402
mitz@apple.com90a34532008-10-22 03:10:23 +000084032008-10-21 Dan Bernstein <mitz@apple.com>
8404
8405 Reviewed by Sam Weinig.
8406
8407 - remove unreachable code
8408
8409 * platform/text/BidiResolver.h:
8410 (WebCore::::embed):
8411
bdakin@apple.comc144ec52008-10-22 00:22:55 +000084122008-10-21 Beth Dakin <bdakin@apple.com>
8413
8414 Reviewed by Darin Adler.
8415
8416 Fix for https://bugs.webkit.org/show_bug.cgi?id=20352
8417 REGRESSION(r31030-31055): Choosing "Print window" from frame set
8418 prints blank page
8419 and corresponding: <rdar://problem/6142398>
8420
8421 viewHeight() and viewWidth() only return valuable information if we
8422 are not printing. Everywhere else in the code, we make sure we are
8423 not printing before we call these functions. Adding a check for
8424 printing here fixes this bug, and framesets print again.
8425
8426 * rendering/RenderFrameSet.cpp:
8427 (WebCore::RenderFrameSet::layout):
8428
hausmann@webkit.orgfde4e2e2008-10-21 12:57:35 +000084292008-10-21 Yael Aharon <yael.aharon@nokia.com>
8430
8431 Reviewed by Simon.
8432
8433 Pixmap in canvas tag was not getting initialized.
8434
8435 See https://bugs.webkit.org/show_bug.cgi?id=21771
8436
8437 * platform/graphics/qt/ImageBufferQt.cpp:
8438 (WebCore::ImageBuffer::create):
8439
simon.fraser@apple.com1f2bbf32008-10-21 06:01:03 +000084402008-10-20 Simon Fraser <simon.fraser@apple.com>
8441
8442 Reviewed by Dan Bernstein
8443
8444 Add a comment explaining layoutDelta(), and an assertion
8445 that checks that delta changes were correctly paired during layout.
8446
8447 * rendering/RenderView.cpp:
8448 (WebCore::RenderView::layout):
8449 * rendering/RenderView.h:
8450
timothy@apple.com6b535d52008-10-21 04:50:24 +000084512008-10-20 Timothy Hatcher <timothy@apple.com>
8452
timothy@apple.com1c922772008-10-21 04:50:34 +00008453 Make auto-complete only suggest properties that are valid syntax
8454 when using dot-notation. Also when completing numeric properties,
8455 the quotes are omitted inside the brackets.
8456
8457 https://bugs.webkit.org/show_bug.cgi?id=21760
8458 https://bugs.webkit.org/show_bug.cgi?id=21761
8459
8460 Reviewed by Oliver Hunt.
8461
8462 * inspector/front-end/Console.js:
8463 (WebInspector.Console.prototype.completions): Skip properties that
8464 are not valid identifies when using dot-notation. And omit the quotes
8465 when completing numbers in bracket-notation.
8466
84672008-10-20 Timothy Hatcher <timothy@apple.com>
8468
timothy@apple.com6b535d52008-10-21 04:50:24 +00008469 Fixes the Profiles panel in the Web Inspector, which was broken by
8470 the JSValue base-class changes. Also renames some functions and
8471 variables in JavaScriptProfileNode.cpp that where title case.
8472
8473 https://bugs.webkit.org/show_bug.cgi?id=21764
8474
8475 Reviewed by Oliver Hunt.
8476
8477 * inspector/JavaScriptProfile.cpp:
8478 (WebCore::toJS): Use a JSObject pointer instead of JSValuePtr so the
8479 returned JSValuePtr will be treated as an object and not a value.
8480 * inspector/JavaScriptProfileNode.cpp:
8481 (WebCore::toJS): Ditto.
8482
weinig@apple.com5ed91732008-10-21 02:14:45 +000084832008-10-20 Sam Weinig <sam@webkit.org>
8484
8485 Reviewed by Anders Carlsson.
8486
8487 Remove FrameLoaderClient::detachedFromParent4. It is no longer used by any port.
8488
8489 * loader/EmptyClients.h:
8490 (WebCore::EmptyFrameLoaderClient::detachedFromParent4):.
8491 * loader/FrameLoader.cpp:
8492 (WebCore::FrameLoader::detachFromParent):
8493 * loader/FrameLoaderClient.h:
8494
antti@apple.com6068cf42008-10-21 01:22:51 +000084952008-10-20 Antti Koivisto <antti@apple.com>
8496
8497 Reviewed by Adele Peterson.
8498
8499 Fix https://bugs.webkit.org/show_bug.cgi?id=21763
8500 REGRESSION (r36108-r36113): Can't load picture content on wired.com galleries
8501 <rdar://problem/6285025
8502
8503 If we get 304 response we need to explicitly check if that completes the frame load.
8504
8505 No test case, simulating the condition is pretty difficult.
8506
8507 * loader/loader.cpp:
8508 (WebCore::Loader::Host::didReceiveResponse):
8509
andersca@apple.com74021572008-10-21 01:05:19 +000085102008-10-20 Anders Carlsson <andersca@apple.com>
8511
8512 Reviewed by Mark Rowe.
8513
8514 Work around <rdar://problem/6301728>.
8515
8516 Don't assert that loads are deferred when we're using CFNetwork on Mac or Windows.
8517
8518 * loader/MainResourceLoader.cpp:
8519 (WebCore::MainResourceLoader::didReceiveResponse):
8520 (WebCore::MainResourceLoader::didReceiveData):
8521 (WebCore::MainResourceLoader::didFinishLoading):
8522 (WebCore::MainResourceLoader::didFail):
8523
bdakin@apple.com05f9b6b2008-10-20 22:47:19 +000085242008-10-20 Beth Dakin <bdakin@apple.com>
8525
8526 Reviewed by Adele Peterson.
8527
8528 Speculative fix for <rdar://problem/6242585> CrashTracer: [USER] 19
8529 crashes in Safari at com.apple.WebCore
8530 WebCore::ScrollView::visibleContentRect const + 153
8531
8532 d->m_view can be null and is null-checked at other points in the
8533 code. The logs indicate that this crash occurs when closing a
8534 window containing a PDF, so in case where we crash, the PDF's view
8535 is probably already null. So the fix is to simply add a null-check.
8536
8537 * page/Frame.cpp:
8538 (WebCore::Frame::selectionRect):
8539
adele@apple.com79cd4612008-10-20 21:31:08 +000085402008-10-20 Adele Peterson <adele@apple.com>
8541
8542 Reviewed by Darin Adler.
8543
8544 * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formData):
8545 Removed stray increment that would screw up any form with multiple files in it.
8546
weinig@apple.com5f550542008-10-20 20:42:46 +000085472008-10-20 Sam Weinig <sam@webkit.org>
8548
8549 Rubber-stamped by David Hyatt.
8550
8551 Split LengthBox and LengthSize into their own files.
8552
8553 * GNUmakefile.am:
8554 * WebCore.vcproj/WebCore.vcproj:
8555 * WebCore.xcodeproj/project.pbxproj:
8556 * platform/Length.h:
8557 (WebCore::Length::blend):
8558 * platform/LengthBox.h: Copied from platform/Length.h.
8559 (WebCore::LengthBox::LengthBox):
8560 (WebCore::LengthBox::nonZero):
8561 * platform/LengthSize.h: Copied from platform/Length.h.
8562 (WebCore::LengthSize::LengthSize):
8563 (WebCore::LengthSize::setWidth):
8564 (WebCore::LengthSize::setHeight):
8565 (WebCore::LengthSize::height):
8566 * platform/Theme.h:
8567 * rendering/style/FillLayer.h:
8568 * rendering/style/NinePieceImage.h:
8569 (WebCore::NinePieceImage::NinePieceImage):
8570 * rendering/style/RenderStyle.h:
8571 * rendering/style/StyleDashboardRegion.h:
8572 * rendering/style/StyleSurroundData.h:
8573 * rendering/style/StyleVisualData.h:
8574
mitz@apple.com105c3c02008-10-20 20:15:27 +000085752008-10-20 Dan Bernstein <mitz@apple.com>
8576
8577 - Mac build fix
8578
8579 * WebCore.xcodeproj/project.pbxproj:
8580
alp@webkit.org4a81ed22008-10-20 19:30:26 +000085812008-10-20 Alp Toker <alp@nuanti.com>
8582
8583 Fix autotools dist build target by listing recently added header
8584 files only. Not reviewed.
8585
8586 * GNUmakefile.am:
8587
hyatt@apple.com8f754742008-10-20 19:18:38 +000085882008-10-20 David Hyatt <hyatt@apple.com>
8589
hyatt@apple.comccda9a12008-10-20 19:27:58 +00008590 Clean up some USE(NEW_THEME) ifdefs (I botched one of them and have broken non-Mac platforms). Also
8591 refactor some of the code that I put in ThemeMac to be cross-platform, since it was in RenderTheme.cpp
8592 originally.
8593
8594 ifdef some methods in RenderTheme.cpp also that are no longer needed with the new Theme.
8595
8596 Reviewed by Adam Roben
8597
8598 * WebCore.xcodeproj/project.pbxproj:
8599 * platform/Theme.cpp: Added.
8600 (WebCore::Theme::controlSupportsBorder):
8601 (WebCore::Theme::controlSupportsPadding):
8602 * platform/Theme.h:
8603 * platform/mac/ThemeMac.h:
8604 * platform/mac/ThemeMac.mm:
8605 * rendering/RenderTheme.cpp:
8606 (WebCore::RenderTheme::adjustStyle):
8607 * rendering/RenderTheme.h:
8608
86092008-10-20 David Hyatt <hyatt@apple.com>
8610
hyatt@apple.com8f754742008-10-20 19:18:38 +00008611 Rename LengthBox's members to have m_ in front of them.
8612
8613 Reviewed by Sam Weinig
8614
8615 * css/CSSComputedStyleDeclaration.cpp:
8616 (WebCore::valueForNinePieceImage):
8617 (WebCore::getPositionOffsetValue):
8618 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
8619 * css/CSSStyleSelector.cpp:
8620 (WebCore::CSSStyleSelector::mapNinePieceImage):
8621 * platform/Length.h:
8622 (WebCore::LengthBox::LengthBox):
8623 (WebCore::LengthBox::left):
8624 (WebCore::LengthBox::right):
8625 (WebCore::LengthBox::top):
8626 (WebCore::LengthBox::bottom):
8627 (WebCore::LengthBox::operator==):
8628 (WebCore::LengthBox::nonZero):
8629 * rendering/RenderObject.cpp:
8630 (WebCore::RenderObject::paintNinePieceImage):
8631 (WebCore::RenderObject::addDashboardRegions):
8632 * rendering/style/RenderStyle.cpp:
8633 (WebCore::positionedObjectMoved):
8634 (WebCore::RenderStyle::setClip):
8635 (WebCore::RenderStyle::noneDashboardRegions):
8636 * rendering/style/RenderStyle.h:
8637 (WebCore::InheritedFlags::left):
8638 (WebCore::InheritedFlags::right):
8639 (WebCore::InheritedFlags::top):
8640 (WebCore::InheritedFlags::bottom):
8641 (WebCore::InheritedFlags::clipLeft):
8642 (WebCore::InheritedFlags::clipRight):
8643 (WebCore::InheritedFlags::clipTop):
8644 (WebCore::InheritedFlags::clipBottom):
8645 (WebCore::InheritedFlags::marginTop):
8646 (WebCore::InheritedFlags::marginBottom):
8647 (WebCore::InheritedFlags::marginLeft):
8648 (WebCore::InheritedFlags::marginRight):
8649 (WebCore::InheritedFlags::paddingTop):
8650 (WebCore::InheritedFlags::paddingBottom):
8651 (WebCore::InheritedFlags::paddingLeft):
8652 (WebCore::InheritedFlags::paddingRight):
8653 (WebCore::InheritedFlags::setLeft):
8654 (WebCore::InheritedFlags::setRight):
8655 (WebCore::InheritedFlags::setTop):
8656 (WebCore::InheritedFlags::setBottom):
8657 (WebCore::InheritedFlags::setDashboardRegion):
8658 (WebCore::InheritedFlags::setClipLeft):
8659 (WebCore::InheritedFlags::setClipRight):
8660 (WebCore::InheritedFlags::setClipTop):
8661 (WebCore::InheritedFlags::setClipBottom):
8662 (WebCore::InheritedFlags::setMarginTop):
8663 (WebCore::InheritedFlags::setMarginBottom):
8664 (WebCore::InheritedFlags::setMarginLeft):
8665 (WebCore::InheritedFlags::setMarginRight):
8666 (WebCore::InheritedFlags::setPaddingTop):
8667 (WebCore::InheritedFlags::setPaddingBottom):
8668 (WebCore::InheritedFlags::setPaddingLeft):
8669 (WebCore::InheritedFlags::setPaddingRight):
8670
timothy@apple.com77523c52008-10-20 19:03:15 +000086712008-10-20 Timothy Hatcher <timothy@apple.com>
8672
8673 Make the Resource panel perform graph updates atomically, so when resources
8674 are added the graph and summary graph update at the same time.
8675
8676 https://bugs.webkit.org/show_bug.cgi?id=21755
8677
8678 Reviewed by Kevin McCullough.
8679
8680 * inspector/front-end/Resource.js:
8681 (WebInspector.Resource.prototype.get startTime): Return -1 if the _startTime
8682 property is undefined, null or 0. This allows callers to check for -1 and not
8683 the other values when there is no startTime yet.
8684 (WebInspector.Resource.prototype.get responseReceivedTime): Ditto.
8685 (WebInspector.Resource.prototype.get endTime): Ditto.
8686 (WebInspector.Resource.prototype.get duration): Remove an extra empty line.
8687 (WebInspector.Resource.prototype.get latency): Ditto.
8688 (WebInspector.Resource.prototype.get contentLength): Return 0 if the _duration
8689 property is undefined or null. This allows callers to always assume a number.
8690 (WebInspector.Resource.prototype.get expectedContentLength): Ditto.
8691 (WebInspector.Resource.prototype.get errors): Simplify the case where there is
8692 no _errors property yet.
8693 (WebInspector.Resource.prototype.set errors): Remove the check if the new value
8694 if the same as the previous value, since there is no work to guard.
8695 (WebInspector.Resource.prototype.get warnings): Simplify the case where there is
8696 no _warnings property yet.
8697 (WebInspector.Resource.prototype.set warnings): Remove the check if the new value
8698 if the same as the previous value, since there is no work to guard.
8699 (WebInspector.Resource.CompareByResponseReceivedTime): Add cases for when the
8700 responseReceivedTime is -1.
8701 (WebInspector.Resource.CompareByEndTime): Add cases for when the endTime is -1.
8702 * inspector/front-end/ResourcesPanel.js:
8703 (WebInspector.ResourcesPanel.prototype.get searchableViews): If a resource does not
8704 have a _resourcesTreeElement yet, exclude it from the searchable views.
8705 (WebInspector.ResourcesPanel.prototype.set calculator): Set _staleResource to _resources
8706 and call refresh to refresh the entire graph.
8707 (WebInspector.ResourcesPanel.prototype.set needsRefresh): Set a timeout if the panel
8708 is visible that calls refresh.
8709 (WebInspector.ResourcesPanel.prototype.refresh): Create the resource tree element and
8710 graph for a resource if it hasn't been created yet. If the boundaries changed during
8711 the first stale resource pass, do a full pass of all resources when updating the graphs.
8712 (WebInspector.ResourcesPanel.prototype.reset): Remove the legend items.
8713 (WebInspector.ResourcesPanel.prototype.addResource): Don't create the tree element and
8714 graph, these are now created during the first refresh.
8715 (WebInspector.ResourcesPanel.prototype.removeResource): Null check _resourcesTreeElement.
8716 (WebInspector.ResourcesPanel.prototype.addMessageToResource): Ditto.
8717 (WebInspector.ResourcesPanel.prototype.clearMessages): Ditto.
8718 (WebInspector.ResourcesPanel.prototype.refreshResource): Remove most of the work, just
8719 add the resource to the _staleResources and set needsRefresh.
8720 (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): Null check
8721 _resourcesTreeElement.
8722 (WebInspector.ResourcesPanel.prototype._sortResourcesIfNeeded): Remove code to clear
8723 the timeout used by the deleted _sortResourcesSoonIfNeeded. Remove call to removeChild
8724 since the insertBefore call will do it if needed.
8725 (WebInspector.ResourcesPanel.prototype._updateGraphDividersIfNeeded): Remove code to
8726 clear the timeout used by the deleted _updateGraphDividersSoonIfNeeded.
8727 (WebInspector.ResourcesPanel.prototype._updateSummaryGraph): Remove code to clear the
8728 timeout used by the deleted _updateSummaryGraphSoon. No need to remove the totalLegendLabel,
8729 since all the legend items are removed in one pass right before.
8730 (WebInspector.ResourcesPanel.prototype._changeSortingFunction): Set the sortingFunction
8731 before the calculator so the correct sortingFunction is there when a refresh happens.
8732 (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphPercentages): Set start to 0
8733 when the startTime is -1, since that looks best visually. Also set middle and end
8734 to the start and middle (respectfully) when startAtZero. This looks best visually.
8735 (WebInspector.ResourceGraph): Start the graph as hidden until the first refresh.
8736 (WebInspector.ResourceGraph.prototype.refresh): Remove the hidden class.
8737
hyatt@apple.coma16cfd32008-10-20 18:45:17 +000087382008-10-20 David Hyatt <hyatt@apple.com>
8739
8740 https://bugs.webkit.org/show_bug.cgi?id=21733
8741
8742 Make sure that the haveMetadata flag is set to true for generated images from image buffers, so that
8743 no attempt is made to re-cache the frame from a non-existent image source.
8744
8745 Reviewed by Sam Weinig
8746
8747 * platform/graphics/cairo/ImageCairo.cpp:
8748 (WebCore::BitmapImage::BitmapImage):
8749 * platform/graphics/cg/ImageCG.cpp:
8750 (WebCore::BitmapImage::BitmapImage):
8751
mitz@apple.comdffa6702008-10-20 18:23:29 +000087522008-10-20 Dan Bernstein <mitz@apple.com>
8753
8754 Reviewed by John Sullivan.
8755
8756 - make hasARenderedDescendant() have internal linkage
8757
8758 * editing/CompositeEditCommand.cpp:
8759 (WebCore::hasARenderedDescendant):
8760
cfleizach@apple.com2826b442008-10-20 17:57:12 +000087612008-10-20 Chris Fleizach <cfleizach@apple.com>
8762
8763 Reviewed by Jon Honeycutt
8764
8765 Fix a crash in Accessibility where a table section was being
8766 referenced without first checking if it was null
8767
8768 https://bugs.webkit.org/show_bug.cgi?id=21721
8769
8770 Test: accessibility/table-nofirstbody.html
8771
8772 * page/AccessibilityTable.cpp:
8773 (WebCore::AccessibilityTable::addChildren):
8774
hyatt@apple.com95f62812008-10-20 17:40:52 +000087752008-10-20 David Hyatt <hyatt@apple.com>
8776
8777 Avoid some stderr spew from CG by checking if we have a decoder yet in ImageSourceCG.
8778
8779 Reviewed by Darin Adler
8780
8781 * platform/graphics/cg/ImageSourceCG.cpp:
8782 (WebCore::ImageSource::repetitionCount):
8783 (WebCore::ImageSource::frameDurationAtIndex):
8784
alp@webkit.org1b2d1fd2008-10-20 17:06:10 +000087852008-10-20 Alp Toker <alp@nuanti.com>
8786
8787 Reviewed by Mark Rowe.
8788
8789 Fix the pthread conditionals in the FTP code to correctly define
8790 threadsafe *_r functions on Windows. Partly fixes the GTK+/Win32
8791 build.
8792
8793 * loader/FTPDirectoryDocument.cpp:
8794 * loader/FTPDirectoryParser.cpp:
8795
hyatt@apple.com74aa2f22008-10-20 16:50:20 +000087962008-10-20 David Hyatt <hyatt@apple.com>
8797
8798 https://bugs.webkit.org/show_bug.cgi?id=21751
8799
8800 Convert checkboxes and radio buttons on OS X over to the new Theme API.
8801
8802 Reviewed by Adam Roben
8803
8804 * css/CSSComputedStyleDeclaration.cpp:
8805 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
8806 * css/CSSStyleSelector.cpp:
8807 (WebCore::CSSStyleSelector::mapFillSize):
8808 * platform/Length.h:
8809 (WebCore::LengthSize::LengthSize):
8810 (WebCore::LengthSize::operator==):
8811 (WebCore::LengthSize::width):
8812 (WebCore::LengthSize::height):
8813 (WebCore::LengthSize::setWidth):
8814 (WebCore::LengthSize::setHeight):
8815 * platform/Theme.h:
8816 (WebCore::Theme::controlSize):
8817 (WebCore::Theme::controlSupportsBorder):
8818 (WebCore::Theme::controlSupportsPadding):
8819 (WebCore::Theme::paint):
8820 (WebCore::Theme::inflateControlPaintRect):
8821 * platform/ThemeTypes.h:
8822 (WebCore::):
8823 * platform/mac/ThemeMac.h:
8824 * platform/mac/ThemeMac.mm:
8825 (WebCore::):
8826 (WebCore::controlSizeForFont):
8827 (WebCore::sizeFromFont):
8828 (WebCore::setControlSize):
8829 (WebCore::updateStates):
8830 (WebCore::inflateRect):
8831 (WebCore::checkboxSizes):
8832 (WebCore::checkboxMargins):
8833 (WebCore::checkboxSize):
8834 (WebCore::checkbox):
8835 (WebCore::paintCheckbox):
8836 (WebCore::radioSizes):
8837 (WebCore::radioMargins):
8838 (WebCore::radioSize):
8839 (WebCore::radio):
8840 (WebCore::paintRadio):
8841 (WebCore::ThemeMac::baselinePositionAdjustment):
8842 (WebCore::ThemeMac::controlSize):
8843 (WebCore::ThemeMac::controlSupportsBorder):
8844 (WebCore::ThemeMac::controlSupportsPadding):
8845 (WebCore::ThemeMac::inflateControlPaintRect):
8846 (WebCore::ThemeMac::paint):
8847 * rendering/RenderBox.cpp:
8848 (WebCore::RenderBox::calculateBackgroundSize):
8849 * rendering/RenderObject.cpp:
8850 (WebCore::mustRepaintFillLayers):
8851 * rendering/RenderTheme.cpp:
8852 (WebCore::RenderTheme::adjustStyle):
8853 (WebCore::RenderTheme::paint):
8854 (WebCore::RenderTheme::baselinePosition):
8855 (WebCore::RenderTheme::adjustRepaintRect):
8856 (WebCore::RenderTheme::controlStatesForRenderer):
8857 (WebCore::RenderTheme::isFocused):
8858 * rendering/RenderTheme.h:
8859 * rendering/RenderThemeMac.h:
8860 * rendering/RenderThemeMac.mm:
8861 (WebCore::RenderThemeMac::adjustRepaintRect):
8862 * rendering/style/FillLayer.cpp:
8863 (WebCore::FillLayer::operator==):
8864
ggaren@apple.com4b8c0fb2008-10-20 16:48:30 +000088652008-10-18 Geoffrey Garen <ggaren@apple.com>
8866
8867 Reviewed by Darin Adler.
8868
8869 Fixed https://bugs.webkit.org/show_bug.cgi?id=21735
8870 Emit profiling instrumentation only if the Web Inspector's profiling
8871 feature is enabled
8872
8873 * bindings/js/JSDOMWindowBase.cpp:
8874 (WebCore::JSDOMWindowBase::supportsProfiling):
8875 * bindings/js/JSDOMWindowBase.h: Implemented the interface for specifying
8876 whether a target global object has the Web Inspector's profiling feature
8877 enabled.
8878
8879 * inspector/JavaScriptDebugServer.cpp:
8880 (WebCore::JavaScriptDebugServer::recompileAllJSFunctionsSoon):
8881 (WebCore::JavaScriptDebugServer::didAddListener):
8882 (WebCore::JavaScriptDebugServer::didRemoveListener):
8883 * inspector/JavaScriptDebugServer.h: Exported an API for recompiling,
8884 used by the Settings object.
8885
8886 * page/Settings.cpp:
8887 (WebCore::Settings::Settings):
8888 (WebCore::Settings::setDeveloperExtrasEnabled):
8889 * page/Settings.h: Recompile when the developer menu is enabled/disabled
8890 for the first time, to add/remove profiling hooks. In the future, with
8891 better Web Inspector UI, we can do this on a page-by-page basis,
8892 instead of a global basis.
8893
hyatt@apple.com6b537eb2008-10-20 15:54:55 +000088942008-10-20 David Hyatt <hyatt@apple.com>
8895
8896 Move Length to platform/.
8897
8898 Reviewed by Adam Roben
8899
8900 * GNUmakefile.am:
8901 * WebCore.pro:
8902 * WebCore.vcproj/WebCore.vcproj:
8903 * WebCore.xcodeproj/project.pbxproj:
8904 * WebCoreSources.bkl:
8905 * platform/Length.cpp: Copied from rendering/Length.cpp.
8906 * platform/Length.h: Copied from rendering/Length.h.
8907
darin@apple.com29bf98b2008-10-20 15:16:29 +000089082008-10-20 Darin Adler <darin@apple.com>
8909
darin@apple.come90aa812008-10-20 15:28:14 +00008910 - try to fix Qt build
8911
darin@apple.com1f5b8ac2008-10-20 15:29:04 +00008912 * bridge/qt/qt_runtime.cpp:
8913 (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): Add asObject calls.
8914 (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): Ditto.
8915
89162008-10-20 Darin Adler <darin@apple.com>
8917
8918 - try to fix Qt build
8919
darin@apple.come90aa812008-10-20 15:28:14 +00008920 * bridge/qt/qt_instance.cpp:
8921 (JSC::Bindings::QtInstance::mark): Use JSValue* instead of JSValuePtr.
8922 (JSC::Bindings::QtField::valueFromInstance): Ditto.
8923 * bridge/qt/qt_instance.h: Ditto.
8924
89252008-10-20 Darin Adler <darin@apple.com>
8926
darin@apple.com29bf98b2008-10-20 15:16:29 +00008927 - try to fix Tiger build
8928
8929 * bridge/objc/objc_instance.mm:
8930 (ObjcInstance::invokeMethod): Add a const_cast to remove the unwanted
8931 volatile qualifier.
8932 (ObjcInstance::invokeDefaultMethod): Ditto.
8933 (ObjcInstance::getValueOfUndefinedField): Ditto.
8934 * bridge/objc/objc_runtime.mm:
8935 (JSC::Bindings::ObjcField::valueFromInstance): Ditto.
8936
ap@webkit.org0d0f77352008-10-20 15:13:11 +000089372008-10-20 Alexey Proskuryakov <ap@webkit.org>
8938
8939 Reviewed by Darin Adler.
8940
8941 https://bugs.webkit.org/show_bug.cgi?id=21750
8942 Eliminate the notion of "temporary events"
8943
8944 We mark some events as temporary when dispatching, for the sole reason of
8945 manually calling forgetDOMObject when done dispatching.
8946
8947 There doesn't seem to be any reason to call it manually, as JSEvent destructor
8948 will do this automatically right away.
8949
8950 * bindings/js/ScriptController.cpp:
8951 * bindings/js/ScriptController.h:
8952 Removed ScriptController::finishedWithEvent(), which was called after dispatching
8953 a temporary event.
8954
8955 * dom/ContainerNode.cpp:
8956 (WebCore::dispatchChildInsertionEvents):
8957 (WebCore::dispatchChildRemovalEvents):
8958 * dom/EventTarget.h:
8959 * dom/EventTargetNode.cpp:
8960 (WebCore::EventTargetNode::dispatchEvent):
8961 (WebCore::EventTargetNode::dispatchGenericEvent):
8962 (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent):
8963 (WebCore::EventTargetNode::dispatchWindowEvent):
8964 (WebCore::EventTargetNode::dispatchUIEvent):
8965 (WebCore::EventTargetNode::dispatchKeyEvent):
8966 (WebCore::EventTargetNode::dispatchMouseEvent):
8967 (WebCore::EventTargetNode::dispatchWheelEvent):
8968 (WebCore::EventTargetNode::dispatchWebKitAnimationEvent):
8969 (WebCore::EventTargetNode::dispatchWebKitTransitionEvent):
8970 (WebCore::EventTargetNode::dispatchEventForType):
8971 (WebCore::EventTargetNode::dispatchProgressEvent):
8972 (WebCore::EventTargetNode::dispatchStorageEvent):
8973 * dom/EventTargetNode.h:
8974 * dom/MessagePort.cpp:
8975 (WebCore::MessagePort::dispatchMessages):
8976 (WebCore::MessagePort::dispatchCloseEvent):
8977 (WebCore::MessagePort::dispatchEvent):
8978 * dom/MessagePort.h:
8979 * editing/Editor.cpp:
8980 (WebCore::Editor::dispatchCPPEvent):
8981 (WebCore::dispatchEditableContentChangedEvents):
8982 * editing/ReplaceSelectionCommand.cpp:
8983 (WebCore::ReplacementFragment::ReplacementFragment):
8984 * editing/TypingCommand.cpp:
8985 (WebCore::TypingCommand::insertText):
8986 * loader/appcache/DOMApplicationCache.cpp:
8987 (WebCore::DOMApplicationCache::dispatchEvent):
8988 (WebCore::DOMApplicationCache::callListener):
8989 * loader/appcache/DOMApplicationCache.h:
8990 * page/EventHandler.cpp:
8991 (WebCore::EventHandler::dispatchDragEvent):
8992 (WebCore::EventHandler::keyEvent):
8993 (WebCore::EventHandler::handleTextInputEvent):
8994 * page/FrameView.cpp:
8995 (WebCore::FrameView::scheduleEvent):
8996 (WebCore::FrameView::updateOverflowStatus):
8997 (WebCore::FrameView::dispatchScheduledEvents):
8998 * page/FrameView.h:
8999 * rendering/RenderLayer.cpp:
9000 (WebCore::RenderLayer::scrollToOffset):
9001 (WebCore::RenderLayer::updateOverflowStatus):
9002 * svg/SVGElement.cpp:
9003 (WebCore::SVGElement::sendSVGLoadEventIfPossible):
9004 * svg/SVGElementInstance.cpp:
9005 (WebCore::SVGElementInstance::dispatchEvent):
9006 * svg/SVGElementInstance.h:
9007 * xml/XMLHttpRequest.cpp:
9008 (WebCore::XMLHttpRequest::dispatchEvent):
9009 (WebCore::XMLHttpRequest::dispatchReadyStateChangeEvent):
9010 (WebCore::XMLHttpRequest::dispatchXMLHttpRequestProgressEvent):
9011 * xml/XMLHttpRequest.h:
9012 * xml/XMLHttpRequestUpload.cpp:
9013 (WebCore::XMLHttpRequestUpload::dispatchEvent):
9014 (WebCore::XMLHttpRequestUpload::dispatchXMLHttpRequestProgressEvent):
9015 * xml/XMLHttpRequestUpload.h:
9016 Don't pass the tempEvent boolean around.
9017
alp@webkit.org64c083f2008-10-20 11:32:36 +000090182008-10-20 Alp Toker <alp@nuanti.com>
9019
9020 Remove unused includes only. Partial GTK+/Win build fix.
9021
9022 * platform/graphics/gtk/SimpleFontDataPango.cpp:
9023
ap@webkit.org00a9b882008-10-20 09:24:30 +000090242008-10-20 Alexey Proskuryakov <ap@webkit.org>
9025
9026 Reviewed by Oliver Hunt.
9027
9028 https://bugs.webkit.org/show_bug.cgi?id=21705
9029 Implement Web Workers client-side API
9030
9031 The implementation is experimental, and disabled by default. It doesn't quite match the
9032 published draft, being influenced by further WHATWG discussions.
9033
9034 This only implements the client-side API, and does not actually create any threads or
9035 global contexts yet.
9036
9037 * DerivedSources.make: Added DedicatedWorker. SharedWorker is not implemented yet, as I'm
9038 still not sure if having separate classes for these helps at all.
9039
9040 * WebCore.xcodeproj/project.pbxproj: Added new files.
9041
9042 * bindings/js/JSDOMWindowBase.cpp:
9043 (jsDOMWindowBaseWorker):
9044 (WebCore::JSDOMWindowBase::put):
9045 (setJSDOMWindowBaseWorker):
9046 Added window.Worker constructor. Moved JSXSLTProcessorConstructor.h include out of ifdef
9047 to match prevailing style.
9048
9049 * bindings/js/JSDedicatedWorkerConstructor.cpp: Added.
9050 * bindings/js/JSDedicatedWorkerConstructor.h: Added.
9051 * bindings/js/JSDedicatedWorkerCustom.cpp: Added.
9052 The implementation of event listeners are left custom intentionally, for easier implementation
9053 of listeners that are not tied to any Document in the future.
9054
9055 * dom/DedicatedWorker.cpp: Added.
9056 * dom/DedicatedWorker.h: Added.
9057 * dom/DedicatedWorker.idl: Added.
9058 Added an implementation that can only load requested scripts for now.
9059
darin@apple.comcd9e55b2008-10-20 06:29:32 +000090602008-10-19 Darin Adler <darin@apple.com>
9061
9062 Reviewed by Dan Bernstein.
9063
9064 - fix assertion seen when opening inspector
9065
9066 * bindings/js/JSQuarantinedObjectWrapper.cpp:
9067 (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot):
9068 Removed unneeded asObject cast.
9069
mitz@apple.com2cce4672008-10-20 03:49:58 +000090702008-10-19 Dan Bernstein <mitz@apple.com>
9071
9072 Rubber-stamped by Timothy Hatcher.
9073
9074 - remove empty directories and correct the MIME type of inspector images
9075
9076 * page/inspector: Removed.
9077 * page/inspector/Images: Removed.
9078
timothy@apple.com2b1a4132008-10-20 03:43:19 +000090792008-10-19 Timothy Hatcher <timothy@apple.com>
9080
timothy@apple.com389d6642008-10-20 03:43:57 +00009081 Make the Web Inspector Resources panel open quicker and change graphs
9082 faster. There was some accidental n^2 logic at fault when updating the
9083 graph boundaries.
9084
9085 https://bugs.webkit.org/show_bug.cgi?id=21742
9086
9087 Reviewed by Darin Adler.
9088
9089 * inspector/front-end/ResourcesPanel.js:
9090 (WebInspector.ResourcesPanel.prototype.set calculator): Return early for
9091 a null calculator. Remove the second argument passed to _refreshAllResources.
9092 (WebInspector.ResourcesPanel.prototype.refresh): Call updateBoundaries on
9093 the calculator for all the stale resources before calling refreshResource.
9094 Pass true for the first argument of refreshResource to skip the boundary update.
9095 (WebInspector.ResourcesPanel.prototype._updateGraphBoundariesIfNeeded): Remove
9096 the second argument passed to _refreshAllResources.
9097 (WebInspector.ResourcesPanel.prototype._refreshAllResourcesSoon): Remove the
9098 skipSort argument since every passed true, and it would be bad to pass false.
9099 (WebInspector.ResourcesPanel.prototype._refreshAllResources): Ditto. And if
9100 skipBoundaryUpdate is false, call updateBoundaries on the calculator for all
9101 the resources before calling refreshResource. Pass true for the first argument
9102 of refreshResource to skip the boundary update.
9103
91042008-10-19 Timothy Hatcher <timothy@apple.com>
9105
timothy@apple.coma68e10d2008-10-20 03:43:45 +00009106 Visually distinguish resources that loaded from the memory cache.
9107
9108 https://bugs.webkit.org/show_bug.cgi?id=14279
9109
9110 Reviewed by Dan Bernstein.
9111
9112 * English.lproj/localizedStrings.js: New string.
9113 * inspector/front-end/Images/timelineHollowPillBlue.png: Added.
9114 * inspector/front-end/Images/timelineHollowPillGray.png: Added.
9115 * inspector/front-end/Images/timelineHollowPillGreen.png: Added.
9116 * inspector/front-end/Images/timelineHollowPillOrange.png: Added.
9117 * inspector/front-end/Images/timelineHollowPillPurple.png: Added.
9118 * inspector/front-end/Images/timelineHollowPillRed.png: Added.
9119 * inspector/front-end/Images/timelineHollowPillYellow.png: Added.
9120 * inspector/front-end/ResourcesPanel.js:
9121 (WebInspector.ResourceCalculator.prototype.computeBarGraphLabels):
9122 Add the "(from cache)" suffix to the tooltip.
9123 (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels):
9124 Add the "(from cache)" suffix to the tooltip.
9125 (WebInspector.ResourceGraph): Add the "resource-cached" class.
9126 * inspector/front-end/inspector.css: New styles to make the timeline
9127 bars use the hollow pill images.
9128
91292008-10-19 Timothy Hatcher <timothy@apple.com>
9130
timothy@apple.comc4c00ec2008-10-20 03:43:29 +00009131 Update the scroll position in the Resources panel when loading
9132 a new page or toggling on small resource rows.
9133
9134 https://bugs.webkit.org/show_bug.cgi?id=20114
9135
9136 Reviewed by Darin Adler.
9137
9138 * inspector/front-end/ResourcesPanel.js:
9139 (WebInspector.ResourcesPanel.prototype.reset): Scroll to the top,
9140 since all the resource are being removed.
9141 (WebInspector.ResourcesPanel.prototype.removeResource): Call
9142 _adjustScrollPosition in case the view is shorter and needs scrolled.
9143 (WebInspector.ResourcesPanel.prototype._toggleLargerResources): Ditto.
9144 (WebInspector.ResourcesPanel.prototype._adjustScrollPosition): Check
9145 the height of the sidebar against the scrollTop and height of the
9146 resourcesContainerElement. If the sidebar is shorter, scroll up
9147 so the last resource is at the bottom again.
9148
91492008-10-19 Timothy Hatcher <timothy@apple.com>
9150
timothy@apple.com2b1a4132008-10-20 03:43:19 +00009151 Show per resource times and sizes when hovering over the bar graph for a resource.
9152
9153 https://bugs.webkit.org/show_bug.cgi?id=14300
9154 rdar://problem/5712802
9155
9156 Reviewed by Cameron Zwarich.
9157
9158 * English.lproj/localizedStrings.js: Add new strings.
9159 * inspector/front-end/Images/graphLabelCalloutLeft.png: Added.
9160 * inspector/front-end/Images/graphLabelCalloutRight.png: Added.
9161 * inspector/front-end/ResourcesPanel.js:
9162 (WebInspector.ResourcesPanel.prototype.refreshResource): Pass the calculator to the
9163 ResourceGraph.refresh function.
9164 (WebInspector.ResourceCalculator.prototype.computeBarGraphLabels): Default implementation
9165 returns the formatted value.
9166 (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels): Return discrete values
9167 for the latency and download times. Also generate a custom tooltip.
9168 (WebInspector.ResourceGraph): Add a mouseover event listener that calls refreshLabelPositions.
9169 (WebInspector.ResourceGraph.prototype.refreshLabelPositions): Added. Updates the label positions
9170 in case the bar has changed size.
9171 (WebInspector.ResourceGraph.prototype.refresh): Set the label text and tooltips.
9172 * inspector/front-end/inspector.css: New styles for the labels.
9173
darin@apple.com989a6f82008-10-20 00:28:51 +000091742008-10-19 Darin Adler <darin@apple.com>
9175
9176 Reviewed by Oliver Hunt.
9177
9178 - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
9179 improve performance by eliminating JSValue as a base class for JSCell
9180
9181 Remove most uses of JSValue, which will be removed in a future patch.
9182
9183 * bindings/js/JSCustomXPathNSResolver.h: Removed declaration of JSValue
9184 and used JSValuePtr instead.
9185 * bindings/js/JSEventTarget.h: Ditto.
9186 * bindings/js/JSNodeFilterCondition.h: Ditto.
9187 * bindings/js/ScheduledAction.h: Ditto.
9188 * bindings/js/ScriptController.h: Ditto.
9189 * bindings/objc/WebScriptObjectPrivate.h: Ditto.
9190 * bridge/c/c_utility.h: Ditto.
9191 * bridge/jni/jni_jsobject.h: Ditto.
9192 * bridge/jni/jni_utility.h: Ditto.
9193 * bridge/objc/WebScriptObject.h: Ditto.
9194 * dom/Traversal.h: Ditto.
9195 * inspector/InspectorController.cpp: Ditto.
9196 * inspector/JavaScriptProfile.h: Ditto.
9197 * inspector/JavaScriptProfileNode.h: Ditto.
9198 * loader/FrameLoader.h: Ditto.
9199 * page/Console.h: Ditto.
9200 * plugins/MimeTypeArray.h: Ditto.
9201 * plugins/Plugin.h: Ditto.
9202 * plugins/PluginArray.h: Ditto.
9203 * plugins/PluginView.cpp:
9204 (WebCore::getString): Ditto.
9205 (WebCore::PluginView::performRequest): Ditto.
9206 * plugins/gtk/PluginViewGtk.cpp: Ditto.
9207 * plugins/qt/PluginViewQt.cpp: Ditto.
9208 * plugins/win/PluginViewWin.cpp: Ditto.
9209
9210 * bridge/qt/qt_class.cpp:
9211 (JSC::Bindings::QtClass::fallbackObject): Use JSValuePtr and JSObject*
9212 instead of JSValue*.
9213 * bridge/qt/qt_class.h: Ditto.
9214 * bridge/qt/qt_instance.cpp:
9215 (JSC::Bindings::QtInstance::mark): Ditto.
9216 (JSC::Bindings::QtInstance::invokeMethod): Ditto.
9217 (JSC::Bindings::QtInstance::defaultValue): Ditto.
9218 (JSC::Bindings::QtInstance::stringValue): Ditto.
9219 (JSC::Bindings::QtInstance::numberValue): Ditto.
9220 (JSC::Bindings::QtInstance::booleanValue): Ditto.
9221 (JSC::Bindings::QtInstance::valueOf): Ditto.
9222 (JSC::Bindings::QtField::valueFromInstance): Ditto.
9223 (JSC::Bindings::QtField::setValueToInstance): Ditto.
9224 * bridge/qt/qt_instance.h: Ditto.
9225 * bridge/qt/qt_runtime.cpp: Ditto.
9226 (JSC::Bindings::valueRealType): Ditto.
9227 (JSC::Bindings::convertValueToQVariant): Ditto.
9228 (JSC::Bindings::convertQVariantToValue): Ditto.
9229 (JSC::Bindings::findMethodIndex): Ditto.
9230 (JSC::Bindings::QtRuntimeMetaMethod::call): Ditto.
9231 (JSC::Bindings::QtRuntimeMetaMethod::lengthGetter): Ditto.
9232 (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): Ditto.
9233 (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): Ditto.
9234 (JSC::Bindings::QtRuntimeConnectionMethod::call): Ditto.
9235 (JSC::Bindings::QtRuntimeConnectionMethod::lengthGetter): Ditto.
9236 (JSC::Bindings::QtArray::setValueAt): Ditto.
9237 (JSC::Bindings::QtArray::valueAt): Ditto.
9238 * bridge/qt/qt_runtime.h: Ditto.
9239
9240 * bridge/testqtbindings.cpp:
9241 (main): Use JSValuePtr.
9242
darin@apple.com5c465b02008-10-19 16:58:58 +000092432008-10-18 Darin Adler <darin@apple.com>
9244
9245 Reviewed by Oliver Hunt.
9246
9247 - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
9248 improve performance by eliminating JSValue as a base class for JSCell
9249
9250 Tweak a little more to get closer to where we can make JSValuePtr a class.
9251
9252 * bindings/js/JSAudioConstructor.cpp:
9253 (WebCore::JSAudioConstructor::JSAudioConstructor): Use asObject.
9254 (WebCore::constructAudio): Ditto.
9255 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
9256 (WebCore::JSCSSStyleDeclaration::nameGetter): Ditto.
9257
9258 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
9259 (WebCore::toHTMLCanvasStyle): Use asString and asObject.
9260 (WebCore::JSCanvasRenderingContext2D::setFillColor): Ditto.
9261 (WebCore::JSCanvasRenderingContext2D::setStrokeColor): Ditto.
9262 (WebCore::JSCanvasRenderingContext2D::drawImage): Ditto.
9263 (WebCore::JSCanvasRenderingContext2D::drawImageFromRect): Ditto.
9264 (WebCore::JSCanvasRenderingContext2D::setShadow): Ditto.
9265 (WebCore::JSCanvasRenderingContext2D::createPattern): Ditto.
9266
9267 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
9268 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): Use JSValuePtr.
9269
9270 * bindings/js/JSDOMBinding.cpp:
9271 (WebCore::setDOMException): Use noValue.
9272
9273 * bindings/js/JSDOMBinding.h:
9274 (WebCore::getDOMPrototype): Use asObject.
9275
9276 * bindings/js/JSDOMWindowBase.cpp:
9277 (WebCore::showModalDialog): Use noValue.
9278 (jsDOMWindowBaseEvent): Use asObject.
9279 (jsDOMWindowBaseImage): Ditto.
9280 (jsDOMWindowBaseMessageChannel): Ditto.
9281 (jsDOMWindowBaseOption): Ditto.
9282 (jsDOMWindowBaseXMLHttpRequest): Ditto.
9283 (jsDOMWindowBaseAudio): Ditto.
9284 (jsDOMWindowBaseXSLTProcessor): Ditto.
9285 (WebCore::JSDOMWindowBase::childFrameGetter): Ditto.
9286 (WebCore::JSDOMWindowBase::indexGetter): Ditto.
9287 (WebCore::JSDOMWindowBase::namedItemGetter): Ditto.
9288 (WebCore::JSDOMWindowBase::getOwnPropertySlot): Ditto.
9289 (WebCore::JSDOMWindowBase::findJSEventListener): Ditto.
9290 (WebCore::JSDOMWindowBase::findOrCreateJSEventListener): Ditto.
9291 (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener): Ditto.
9292 (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener): Ditto.
9293 (windowProtoFuncOpen): Use noValue.
9294 (WebCore::toJSDOMWindow): Use asObject.
9295
9296 * bindings/js/JSDOMWindowCustom.cpp:
9297 (WebCore::setTimeoutOrInterval): Use asString.
9298 (WebCore::toDOMWindow): Use asObject.
9299
9300 * bindings/js/JSEventListener.cpp:
9301 (WebCore::JSAbstractEventListener::handleEvent): Use noValue.
9302 (WebCore::JSLazyEventListener::parseCode): Use asObject.
9303
9304 * bindings/js/JSHTMLCollectionCustom.cpp:
9305 (WebCore::JSHTMLCollection::nameGetter): Use asObject.
9306 * bindings/js/JSHTMLDocumentCustom.cpp:
9307 (WebCore::JSHTMLDocument::nameGetter): Ditto.
9308 * bindings/js/JSHTMLElementCustom.cpp:
9309 (WebCore::JSHTMLElement::pushEventHandlerScope): Ditto.
9310 * bindings/js/JSHTMLFormElementCustom.cpp:
9311 (WebCore::JSHTMLFormElement::nameGetter): Ditto.
9312 * bindings/js/JSHTMLFrameSetElementCustom.cpp:
9313 (WebCore::JSHTMLFrameSetElement::nameGetter): Ditto.
9314 * bindings/js/JSHTMLOptionElementConstructor.cpp:
9315 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor): Ditto.
9316 (WebCore::constructHTMLOptionElement): Ditto.
9317 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
9318 (WebCore::JSHTMLOptionsCollection::remove): Ditto.
9319 * bindings/js/JSImageConstructor.cpp:
9320 (WebCore::JSImageConstructor::JSImageConstructor): Ditto.
9321 (WebCore::constructImage): Ditto.
9322 * bindings/js/JSInspectedObjectWrapper.cpp:
9323 (WebCore::JSInspectedObjectWrapper::wrap): Ditto.
9324 * bindings/js/JSInspectorCallbackWrapper.cpp:
9325 (WebCore::JSInspectorCallbackWrapper::wrap): Ditto.
9326
9327 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
9328 (WebCore::JSJavaScriptCallFrame::evaluate): Use noValue.
9329
9330 * bindings/js/JSMessageChannelConstructor.cpp:
9331 (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): Use asObject.
9332 (WebCore::JSMessageChannelConstructor::construct): Ditto.
9333 * bindings/js/JSMimeTypeArrayCustom.cpp:
9334 (WebCore::JSMimeTypeArray::nameGetter): Ditto.
9335 * bindings/js/JSNamedNodeMapCustom.cpp:
9336 (WebCore::JSNamedNodeMap::nameGetter): Ditto.
9337 * bindings/js/JSNamedNodesCollection.cpp:
9338 (WebCore::JSNamedNodesCollection::lengthGetter): Ditto.
9339 (WebCore::JSNamedNodesCollection::indexGetter): Ditto.
9340 * bindings/js/JSNodeFilterCustom.cpp:
9341 (WebCore::toNodeFilter): Ditto.
9342 * bindings/js/JSNodeListCustom.cpp:
9343 (WebCore::JSNodeList::nameGetter): Ditto.
9344 * bindings/js/JSPluginArrayCustom.cpp:
9345 (WebCore::JSPluginArray::nameGetter): Ditto.
9346 * bindings/js/JSPluginCustom.cpp:
9347 (WebCore::JSPlugin::nameGetter): Ditto.
9348 * bindings/js/JSPluginElementFunctions.cpp:
9349 (WebCore::runtimeObjectGetter): Ditto.
9350 (WebCore::runtimeObjectPropertyGetter): Ditto.
9351 * bindings/js/JSQuarantinedObjectWrapper.cpp:
9352 (WebCore::JSQuarantinedObjectWrapper::asWrapper): Ditto.
9353 (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot): Ditto.
9354 (WebCore::JSQuarantinedObjectWrapper::construct): Ditto.
9355 * bindings/js/JSRGBColor.cpp:
9356 (jsRGBColorRed): Ditto.
9357 (jsRGBColorGreen): Ditto.
9358 (jsRGBColorBlue): Ditto.
9359
9360 * bindings/js/JSSQLResultSetRowListCustom.cpp:
9361 (WebCore::JSSQLResultSetRowList::item): Use noValue.
9362
9363 * bindings/js/JSStorageCustom.cpp:
9364 (WebCore::JSStorage::nameGetter): Use asObject.
9365 (WebCore::JSStorage::deleteProperty): Ditto.
9366 (WebCore::JSStorage::customPut): Ditto.
9367 * bindings/js/JSStyleSheetListCustom.cpp:
9368 (WebCore::JSStyleSheetList::nameGetter): Ditto.
9369 * bindings/js/JSXMLHttpRequestConstructor.cpp:
9370 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): Ditto.
9371 * bindings/js/JSXSLTProcessorCustom.cpp:
9372 (WebCore::JSXSLTProcessor::importStylesheet): Ditto.
9373 (WebCore::JSXSLTProcessor::transformToFragment): Ditto.
9374 (WebCore::JSXSLTProcessor::transformToDocument): Ditto.
9375
9376 * bindings/js/ScriptController.cpp:
9377 (WebCore::ScriptController::evaluate): Use noValue.
9378 * bindings/objc/DOMInternal.mm:
9379 (-[WebScriptObject _initializeScriptDOMNodeImp]): Ditto.
9380
9381 * bindings/objc/WebScriptObject.mm:
9382 (-[WebScriptObject evaluateWebScript:]): Use JSValuePtr.
9383 (-[WebScriptObject valueForKey:]): Ditto.
9384 (-[WebScriptObject webScriptValueAtIndex:]): Ditto.
9385 (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
9386 Use asObject and asString.
9387
9388 * bindings/scripts/CodeGeneratorJS.pm: Use asObject.
9389
9390 * bridge/c/c_instance.h: Use JSValuePtr.
9391 * bridge/c/c_runtime.cpp:
9392 (JSC::Bindings::CField::setValueToInstance): Ditto.
9393
9394 * bridge/c/c_utility.cpp:
9395 (JSC::Bindings::convertValueToNPVariant): Use asObject.
9396
9397 * bridge/jni/jni_instance.cpp:
9398 (JavaInstance::booleanValue): Use JSValuePtr.
9399 (JavaInstance::invokeMethod): Ditto. And noValue.
9400 * bridge/jni/jni_jsobject.mm:
9401 (JavaJSObject::getSlot): Ditto.
9402 (JavaJSObject::convertValueToJObject): Ditto.
9403 * bridge/jni/jni_runtime.cpp:
9404 (JavaField::dispatchValueFromInstance): Ditto.
9405 (JavaField::valueFromInstance): Ditto.
9406 (JavaField::dispatchSetValueToInstance): Ditto.
9407 (JavaField::setValueToInstance): Ditto.
9408 (JavaArray::setValueAt): Ditto.
9409 (JavaArray::valueAt): Ditto.
9410 * bridge/jni/jni_runtime.h: Ditto.
9411
9412 * bridge/jni/jni_utility.cpp:
9413 (JSC::Bindings::convertArrayInstanceToJavaArray): Take a JSArray*
9414 instead of a JSValue*.
9415 (JSC::Bindings::convertValueToJValue): Use asObject and asArray.
9416
9417 * bridge/objc/objc_class.h: Use JSValuePtr.
9418 * bridge/objc/objc_instance.h: Ditto.
9419 * bridge/objc/objc_runtime.h: Ditto.
9420
9421 * bridge/objc/objc_runtime.mm:
9422 (JSC::Bindings::callObjCFallbackObject): Use asObject.
9423
9424 * bridge/objc/objc_utility.h: Use JSValuePtr.
9425 * bridge/objc/objc_utility.mm:
9426 (JSC::Bindings::convertValueToObjcValue): Use JSValuePtr and asObject.
9427 (JSC::Bindings::convertObjcValueToValue): Use jsUndefined() instead of 0.
9428
9429 * bridge/runtime.cpp:
9430 (JSC::Bindings::Instance::getValueOfField): Use JSValuePtr.
9431 (JSC::Bindings::Instance::setValueOfField): Ditto.
9432
9433 * bridge/runtime_array.cpp:
9434 (JSC::RuntimeArray::lengthGetter): Use JSValuePtr and asObject.
9435 (JSC::RuntimeArray::indexGetter): Ditto.
9436 * bridge/runtime_array.h: Ditto.
9437 * bridge/runtime_method.cpp:
9438 (JSC::RuntimeMethod::lengthGetter): Ditto.
9439 (JSC::callRuntimeMethod): Ditto.
9440 * bridge/runtime_object.cpp:
9441 (JSC::RuntimeObjectImp::fallbackObjectGetter): Ditto.
9442 (JSC::RuntimeObjectImp::fieldGetter): Ditto.
9443 (JSC::RuntimeObjectImp::methodGetter): Ditto.
9444
9445 * loader/FrameLoader.cpp:
9446 (WebCore::FrameLoader::executeScript): Use noValue.
9447
9448 * page/Console.cpp:
9449 (WebCore::Console::trace): Use asInternalFunction.
9450
mitz@apple.com50ba3892008-10-19 16:41:50 +000094512008-10-19 Dan Bernstein <mitz@apple.com>
9452
9453 Reviewed by Timothy Hatcher.
9454
9455 - lower the default button repaint frequency
9456
9457 * rendering/RenderButton.cpp:
9458 (WebCore::RenderButton::styleDidChange): Changed the timer interval from
9459 0.01 to 0.03.
9460
mitz@apple.com3076b4b2008-10-19 02:53:39 +000094612008-10-18 Dan Bernstein <mitz@apple.com>
9462
mitz@apple.comfc465242008-10-19 06:26:15 +00009463 Reviewed by Mark Rowe.
9464
9465 - Windows build fix
9466
9467 * rendering/RenderThemeSafari.cpp:
9468 (WebCore::RenderThemeSafari::paintMediaFullscreenButton):
9469 (WebCore::RenderThemeSafari::paintMediaMuteButton):
9470 (WebCore::RenderThemeSafari::paintMediaPlayButton):
9471 (WebCore::RenderThemeSafari::paintMediaSeekBackButton):
9472 (WebCore::RenderThemeSafari::paintMediaSeekForwardButton):
9473 (WebCore::RenderThemeSafari::paintMediaSliderThumb):
9474
94752008-10-18 Dan Bernstein <mitz@apple.com>
9476
mitz@apple.com3076b4b2008-10-19 02:53:39 +00009477 Reviewed by Sam Weinig.
9478
9479 - WebCore part of https://bugs.webkit.org/show_bug.cgi?id=21736
9480 Long-dead decoded image data make up for most of the object cache's memory use over time
9481
9482 Add a cache setting for how long decoded image data should be allowed to
9483 persist in memory after the image has died. By default, this is set to
9484 0, which means "forever".
9485
9486 * loader/Cache.cpp:
9487 (WebCore::Cache::Cache): Initialize m_deadDecodedDataDeletionInterval.
9488 * loader/Cache.h:
9489 (WebCore::Cache::setDeadDecodedDataDeletionInterval): Added a setter.
9490 (WebCore::Cache::deadDecodedDataDeletionInterval): Added a getter.
9491 * loader/CachedImage.cpp:
9492 (WebCore::CachedImage::CachedImage): Initialize the decoded data
9493 deletion timer.
9494 (WebCore::CachedImage::decodedDataDeletionTimerFired): Added. Destroys
9495 the decoded image data.
9496 (WebCore::CachedImage::addClient): Stop the timer if it is active.
9497 (WebCore::CachedImage::allClientsRemoved): Start the decoded data
9498 deletion timer.
9499 * loader/CachedImage.h:
9500
darin@apple.com9c9096f2008-10-18 21:54:01 +000095012008-10-18 Darin Adler <darin@apple.com>
9502
darin@apple.com05b30262008-10-19 02:12:26 +00009503 Reviewed by Dan Bernstein.
9504
9505 - fix https://bugs.webkit.org/show_bug.cgi?id=21645
9506 REGRESSION (r37469-r37605): File Input not Uploaded in Multipart/Form-data Form
9507
9508 * html/HTMLFormElement.cpp:
9509 (WebCore::HTMLFormElement::formData):
9510 Fix loop that goes through the FormDataList to go two at a time in a clearer
9511 way. My last patch screwed up the way it got form content from the items.
darin@apple.comf20ce3332008-10-19 02:14:16 +00009512 This "two at a time" approach is a confusing way to do things, which explains
9513 why I got it wrong last time through, but I decided to just fix it locally for
9514 now rather than changing the design of FormDataList.
darin@apple.com05b30262008-10-19 02:12:26 +00009515
95162008-10-18 Darin Adler <darin@apple.com>
9517
darin@apple.com67c6c012008-10-19 01:52:42 +00009518 Reviewed by Cameron Zwarich.
9519
9520 - next step on https://bugs.webkit.org/show_bug.cgi?id=21732
9521 improve performance by eliminating JSValue as a base class for JSCell
9522
9523 Use JSValuePtr everywhere instead of JSValue*. In the future, we'll be
9524 changing JSValuePtr to be a class, and then eventually renaming it
9525 to JSValue once that's done.
9526
9527 * bindings/js/JSAttrCustom.cpp:
9528 * bindings/js/JSCSSRuleCustom.cpp:
9529 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
9530 * bindings/js/JSCSSValueCustom.cpp:
9531 * bindings/js/JSCanvasPixelArrayCustom.h:
9532 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
9533 * bindings/js/JSClipboardCustom.cpp:
9534 * bindings/js/JSConsoleCustom.cpp:
9535 * bindings/js/JSCustomSQLStatementCallback.cpp:
9536 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
9537 * bindings/js/JSCustomSQLTransactionCallback.cpp:
9538 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
9539 * bindings/js/JSCustomVoidCallback.cpp:
9540 * bindings/js/JSCustomVoidCallback.h:
9541 * bindings/js/JSCustomXPathNSResolver.cpp:
9542 * bindings/js/JSDOMApplicationCacheCustom.cpp:
9543 * bindings/js/JSDOMBinding.cpp:
9544 * bindings/js/JSDOMBinding.h:
9545 * bindings/js/JSDOMWindowBase.cpp:
9546 * bindings/js/JSDOMWindowBase.h:
9547 * bindings/js/JSDOMWindowCustom.cpp:
9548 * bindings/js/JSDOMWindowCustom.h:
9549 * bindings/js/JSDOMWindowShell.cpp:
9550 * bindings/js/JSDOMWindowShell.h:
9551 * bindings/js/JSDatabaseCustom.cpp:
9552 * bindings/js/JSDocumentCustom.cpp:
9553 * bindings/js/JSElementCustom.cpp:
9554 * bindings/js/JSEventCustom.cpp:
9555 * bindings/js/JSEventListener.cpp:
9556 * bindings/js/JSEventTarget.cpp:
9557 * bindings/js/JSEventTargetBase.h:
9558 * bindings/js/JSEventTargetNodeCustom.cpp:
9559 * bindings/js/JSHTMLAllCollection.h:
9560 * bindings/js/JSHTMLAppletElementCustom.cpp:
9561 * bindings/js/JSHTMLCollectionCustom.cpp:
9562 * bindings/js/JSHTMLDocumentCustom.cpp:
9563 * bindings/js/JSHTMLEmbedElementCustom.cpp:
9564 * bindings/js/JSHTMLFormElementCustom.cpp:
9565 * bindings/js/JSHTMLFrameElementCustom.cpp:
9566 * bindings/js/JSHTMLFrameSetElementCustom.cpp:
9567 * bindings/js/JSHTMLIFrameElementCustom.cpp:
9568 * bindings/js/JSHTMLInputElementCustom.cpp:
9569 * bindings/js/JSHTMLObjectElementCustom.cpp:
9570 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
9571 * bindings/js/JSHTMLSelectElementCustom.cpp:
9572 * bindings/js/JSHTMLSelectElementCustom.h:
9573 * bindings/js/JSHistoryCustom.cpp:
9574 * bindings/js/JSImageDataCustom.cpp:
9575 * bindings/js/JSInspectedObjectWrapper.cpp:
9576 * bindings/js/JSInspectedObjectWrapper.h:
9577 * bindings/js/JSInspectorCallbackWrapper.cpp:
9578 * bindings/js/JSInspectorCallbackWrapper.h:
9579 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
9580 * bindings/js/JSLocationCustom.cpp:
9581 * bindings/js/JSMessagePortCustom.cpp:
9582 * bindings/js/JSMimeTypeArrayCustom.cpp:
9583 * bindings/js/JSNamedNodeMapCustom.cpp:
9584 * bindings/js/JSNamedNodesCollection.cpp:
9585 * bindings/js/JSNamedNodesCollection.h:
9586 * bindings/js/JSNavigatorCustom.cpp:
9587 * bindings/js/JSNodeCustom.cpp:
9588 * bindings/js/JSNodeFilterCondition.cpp:
9589 * bindings/js/JSNodeFilterCustom.cpp:
9590 * bindings/js/JSNodeIteratorCustom.cpp:
9591 * bindings/js/JSNodeListCustom.cpp:
9592 * bindings/js/JSPluginArrayCustom.cpp:
9593 * bindings/js/JSPluginCustom.cpp:
9594 * bindings/js/JSPluginElementFunctions.cpp:
9595 * bindings/js/JSPluginElementFunctions.h:
9596 * bindings/js/JSQuarantinedObjectWrapper.cpp:
9597 * bindings/js/JSQuarantinedObjectWrapper.h:
9598 * bindings/js/JSRGBColor.cpp:
9599 * bindings/js/JSRGBColor.h:
9600 * bindings/js/JSSQLResultSetRowListCustom.cpp:
9601 * bindings/js/JSSQLTransactionCustom.cpp:
9602 * bindings/js/JSSVGElementInstanceCustom.cpp:
9603 * bindings/js/JSSVGLengthCustom.cpp:
9604 * bindings/js/JSSVGMatrixCustom.cpp:
9605 * bindings/js/JSSVGPathSegCustom.cpp:
9606 * bindings/js/JSSVGPathSegListCustom.cpp:
9607 * bindings/js/JSSVGPointListCustom.cpp:
9608 * bindings/js/JSSVGTransformListCustom.cpp:
9609 * bindings/js/JSStorageCustom.cpp:
9610 * bindings/js/JSStyleSheetCustom.cpp:
9611 * bindings/js/JSStyleSheetListCustom.cpp:
9612 * bindings/js/JSTextCustom.cpp:
9613 * bindings/js/JSTreeWalkerCustom.cpp:
9614 * bindings/js/JSXMLHttpRequestCustom.cpp:
9615 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
9616 * bindings/js/JSXSLTProcessorCustom.cpp:
9617 * bindings/js/ScheduledAction.cpp:
9618 * bindings/js/ScheduledAction.h:
9619 * bindings/js/ScriptController.cpp:
9620 * bindings/js/ScriptController.h:
9621 * bindings/objc/WebScriptObject.mm:
9622 * bindings/scripts/CodeGeneratorJS.pm:
9623 * bridge/NP_jsobject.cpp:
9624 * bridge/c/c_instance.cpp:
9625 * bridge/c/c_instance.h:
9626 * bridge/c/c_runtime.cpp:
9627 * bridge/c/c_runtime.h:
9628 * bridge/c/c_utility.cpp:
9629 * bridge/jni/jni_instance.cpp:
9630 * bridge/jni/jni_instance.h:
9631 * bridge/jni/jni_jsobject.mm:
9632 * bridge/jni/jni_objc.mm:
9633 * bridge/jni/jni_runtime.cpp:
9634 * bridge/jni/jni_runtime.h:
9635 * bridge/jni/jni_utility.cpp:
9636 * bridge/objc/objc_class.mm:
9637 * bridge/objc/objc_instance.h:
9638 * bridge/objc/objc_instance.mm:
9639 * bridge/objc/objc_runtime.h:
9640 * bridge/objc/objc_runtime.mm:
9641 * bridge/objc/objc_utility.h:
9642 * bridge/objc/objc_utility.mm:
9643 * bridge/runtime.h:
9644 * bridge/runtime_array.cpp:
9645 * bridge/runtime_array.h:
9646 * bridge/runtime_method.cpp:
9647 * bridge/runtime_method.h:
9648 * bridge/runtime_object.cpp:
9649 * bridge/runtime_object.h:
9650 * inspector/JavaScriptCallFrame.cpp:
9651 * inspector/JavaScriptCallFrame.h:
9652 * inspector/JavaScriptProfile.cpp:
9653 * inspector/JavaScriptProfileNode.cpp:
9654 * loader/FrameLoader.cpp:
9655 * loader/FrameLoader.h:
9656 * page/Console.cpp:
9657 * page/Console.h:
9658 * plugins/MimeTypeArray.h:
9659 * plugins/Plugin.h:
9660 * plugins/PluginArray.h:
9661 * xml/XMLHttpRequest.cpp:
9662 Replace JSValue* with JSValuePtr.
9663
96642008-10-18 Darin Adler <darin@apple.com>
9665
darin@apple.com5a494422008-10-18 23:08:12 +00009666 Reviewed by Oliver Hunt.
9667
9668 - first step of https://bugs.webkit.org/show_bug.cgi?id=21732
9669 improve performance by eliminating JSValue as a base class for JSCell
9670
9671 Update for change to make PreferredPrimitiveType no longer
9672 a member of JSValue.
9673
9674 * bridge/c/c_instance.cpp:
9675 (JSC::Bindings::CInstance::defaultValue): Removed JSValue:: prefix.
9676 * bridge/jni/jni_instance.cpp:
9677 (JavaInstance::defaultValue): Ditto.
9678 * bridge/objc/objc_instance.mm:
9679 (ObjcInstance::defaultValue): Ditto.
9680 * bridge/qt/qt_instance.cpp:
9681 (JSC::Bindings::QtInstance::defaultValue): Ditto.
9682 * bridge/runtime.h: Ditto. Also removed typedef.
9683
96842008-10-18 Darin Adler <darin@apple.com>
9685
darin@apple.com9c9096f2008-10-18 21:54:01 +00009686 - try to fix Windows build
9687
9688 * rendering/RenderThemeSafari.cpp:
9689 (WebCore::RenderThemeSafari::paintCheckbox): Explicitly qualify part name with
9690 SafariTheme namespace, since there is now an identically named constant in
9691 the ControlPart enum.
9692 (WebCore::RenderThemeSafari::paintButton): Ditto.
9693 (WebCore::RenderThemeSafari::paintTextField): Ditto.
9694 (WebCore::RenderThemeSafari::paintTextArea): Ditto.
9695 (WebCore::RenderThemeSafari::paintSearchField): Ditto.
9696 (WebCore::RenderThemeSafari::paintSearchFieldCancelButton): Ditto.
9697 (WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration): Ditto.
9698 (WebCore::RenderThemeSafari::paintSearchFieldResultsButton): Ditto.
9699
jmalonzo@webkit.orgbb77ef92008-10-18 21:23:59 +000097002008-10-18 Jan Michael Alonzo <jmalonzo@webkit.org>
9701
9702 Reviewed by Alp Toker.
9703
9704 [GTK] crash after selecting a file on an <input type=file>
9705 https://bugs.webkit.org/show_bug.cgi?id=21385
9706
9707 Follow Mac and Win's behaviors for Icon::paint
9708
9709 * platform/graphics/gtk/IconGtk.cpp:
9710 (WebCore::Icon::paint): check if painting is enabled before
9711 painting the icon
9712
oliver@apple.com154f91e2008-10-18 08:44:34 +000097132008-10-18 Zan Dobersek <zandobersek@gmail.com>
9714
9715 Reviewed by Oliver Hunt.
9716
9717 Qt port build fix.
9718
9719 * platform/qt/RenderThemeQt.h:
9720
kevino@webkit.org75d2aee2008-10-18 00:03:58 +000097212008-10-17 Kevin Watters <kevinwatters@gmail.com>
9722
9723 Reviewed by Kevin Ollivier
9724
9725 Fix wx port's scrollbar and drawing handling after recent changes.
9726
9727 https://bugs.webkit.org/show_bug.cgi?id=21720
9728
9729 * platform/ScrollView.h:
9730 * platform/wx/ScrollViewWx.cpp:
9731 (WebCore::ScrollView::platformVisibleContentRect):
9732 (WebCore::ScrollView::platformContentsSize):
9733 (WebCore::ScrollView::platformSetContentsSize):
9734 * platform/wx/WidgetWx.cpp:
9735 (WebCore::Widget::paint):
9736
kevino@webkit.orgc81374f2008-10-17 23:22:58 +000097372008-10-17 Kevin Ollivier <kevino@theolliviers.com>
9738
9739 wx build fix. EAppearance -> ControlPart.
9740
9741 * platform/wx/RenderThemeWx.cpp:
9742 (WebCore::RenderThemeWx::isControlStyled):
9743 (WebCore::RenderThemeWx::adjustRepaintRect):
9744 (WebCore::RenderThemeWx::controlSupportsTints):
9745 (WebCore::RenderThemeWx::supportsFocus):
9746 (WebCore::RenderThemeWx::paintButton):
9747
hyatt@apple.com084394f2008-10-17 21:26:46 +000097482008-10-17 David Hyatt <hyatt@apple.com>
9749
hyatt@apple.com5cdc5e042008-10-17 22:02:16 +00009750 Eliminate the EAppearance enum in favor of the new ControlPart enum. Cut out the scrollbar
9751 values from the enum since they are handled by ScrollbarTheme instead.
9752
9753 Reviewed by Tim Hatcher
9754
9755 * css/CSSPrimitiveValueMappings.h:
9756 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
9757 (WebCore::CSSPrimitiveValue::operator ControlPart):
9758 * css/CSSStyleSelector.cpp:
9759 (WebCore::CSSStyleSelector::adjustRenderStyle):
9760 * css/CSSValueKeywords.in:
9761 * platform/gtk/RenderThemeGtk.cpp:
9762 (WebCore::supportsFocus):
9763 (WebCore::RenderThemeGtk::baselinePosition):
9764 (WebCore::setToggleSize):
9765 (WebCore::RenderThemeGtk::setCheckboxSize):
9766 (WebCore::RenderThemeGtk::setRadioSize):
9767 (WebCore::RenderThemeGtk::adjustButtonStyle):
9768 * platform/qt/RenderThemeQt.cpp:
9769 (WebCore::RenderThemeQt::baselinePosition):
9770 (WebCore::RenderThemeQt::controlSupportsTints):
9771 (WebCore::RenderThemeQt::adjustRepaintRect):
9772 (WebCore::RenderThemeQt::isControlStyled):
9773 (WebCore::computeSizeBasedOnStyle):
9774 (WebCore::RenderThemeQt::paintButton):
9775 (WebCore::RenderThemeQt::paintTextField):
9776 (WebCore::RenderThemeQt::paintMenuList):
9777 (WebCore::RenderThemeQt::supportsFocus):
9778 (WebCore::RenderThemeQt::applyTheme):
9779 (WebCore::RenderThemeQt::adjustSliderThumbSize):
9780 * platform/qt/RenderThemeQt.h:
9781 * rendering/RenderSlider.cpp:
9782 (WebCore::RenderSlider::createThumbStyle):
9783 (WebCore::RenderSlider::layout):
9784 (WebCore::RenderSlider::setValueForPosition):
9785 (WebCore::RenderSlider::setPositionFromValue):
9786 (WebCore::RenderSlider::positionForOffset):
9787 (WebCore::RenderSlider::currentPosition):
9788 (WebCore::RenderSlider::setCurrentPosition):
9789 (WebCore::RenderSlider::trackSize):
9790 * rendering/RenderTheme.cpp:
9791 (WebCore::RenderTheme::adjustStyle):
9792 (WebCore::RenderTheme::paint):
9793 (WebCore::RenderTheme::paintBorderOnly):
9794 (WebCore::RenderTheme::paintDecorations):
9795 (WebCore::RenderTheme::isControlContainer):
9796 (WebCore::RenderTheme::isControlStyled):
9797 (WebCore::RenderTheme::supportsFocusRing):
9798 (WebCore::RenderTheme::isDefault):
9799 * rendering/RenderTheme.h:
9800 * rendering/RenderThemeMac.mm:
9801 (WebCore::RenderThemeMac::isControlStyled):
9802 (WebCore::RenderThemeMac::adjustRepaintRect):
9803 (WebCore::RenderThemeMac::baselinePosition):
9804 (WebCore::RenderThemeMac::controlSupportsTints):
9805 (WebCore::RenderThemeMac::adjustButtonStyle):
9806 (WebCore::RenderThemeMac::setButtonCellState):
9807 (WebCore::RenderThemeMac::popupInternalPaddingLeft):
9808 (WebCore::RenderThemeMac::popupInternalPaddingRight):
9809 (WebCore::RenderThemeMac::popupInternalPaddingTop):
9810 (WebCore::RenderThemeMac::popupInternalPaddingBottom):
9811 (WebCore::RenderThemeMac::paintSliderTrack):
9812 (WebCore::RenderThemeMac::paintSliderThumb):
9813 (WebCore::RenderThemeMac::adjustSliderThumbSize):
9814 * rendering/RenderThemeSafari.cpp:
9815 (WebCore::RenderThemeSafari::isControlStyled):
9816 (WebCore::RenderThemeSafari::adjustRepaintRect):
9817 (WebCore::RenderThemeSafari::baselinePosition):
9818 (WebCore::RenderThemeSafari::controlSupportsTints):
9819 (WebCore::RenderThemeSafari::adjustButtonStyle):
9820 (WebCore::RenderThemeSafari::popupInternalPaddingLeft):
9821 (WebCore::RenderThemeSafari::popupInternalPaddingRight):
9822 (WebCore::RenderThemeSafari::popupInternalPaddingTop):
9823 (WebCore::RenderThemeSafari::popupInternalPaddingBottom):
9824 (WebCore::RenderThemeSafari::paintSliderTrack):
9825 (WebCore::RenderThemeSafari::adjustSliderThumbSize):
9826 * rendering/RenderThemeWin.cpp:
9827 (WebCore::RenderThemeWin::supportsFocus):
9828 (WebCore::RenderThemeWin::determineClassicState):
9829 (WebCore::RenderThemeWin::getClassicThemeData):
9830 (WebCore::RenderThemeWin::getThemeData):
9831 (WebCore::drawControl):
9832 (WebCore::RenderThemeWin::paintSliderTrack):
9833 (WebCore::RenderThemeWin::adjustSliderThumbSize):
9834 * rendering/RenderThemeWin.h:
9835 * rendering/style/RenderStyle.h:
9836 (WebCore::InheritedFlags::hasAppearance):
9837 (WebCore::InheritedFlags::appearance):
9838 (WebCore::InheritedFlags::setAppearance):
9839 (WebCore::InheritedFlags::initialAppearance):
9840 * rendering/style/RenderStyleConstants.h:
9841
98422008-10-17 David Hyatt <hyatt@apple.com>
9843
hyatt@apple.com084394f2008-10-17 21:26:46 +00009844 Beginning of the RenderTheme re-architecture (to share more code). Add the new Theme API header
9845 file. Add new USE(NEW_THEME) switch that is enabled on Mac. The Mac theme will be converted first.
9846
9847 Reviewed by Tim Hatcher
9848
9849 * WebCore.vcproj/WebCore.vcproj:
9850 * WebCore.xcodeproj/project.pbxproj:
9851 * config.h:
9852 * platform/Theme.h: Added.
9853 (WebCore::Theme::Theme):
9854 (WebCore::Theme::~Theme):
9855 (WebCore::Theme::baselinePositionAdjustment):
9856 (WebCore::Theme::controlHasInactiveAppearance):
9857 (WebCore::Theme::controlsCanHaveInactiveAppearance):
9858 (WebCore::Theme::controlsCanHaveHoveredAppearance):
9859 (WebCore::Theme::controlDrawsBorder):
9860 (WebCore::Theme::controlDrawsBackground):
9861 (WebCore::Theme::controlDrawsFocusOutline):
9862 (WebCore::Theme::selectionColor):
9863 (WebCore::Theme::textSearchHighlightColor):
9864 (WebCore::Theme::systemColor):
9865 (WebCore::Theme::systemFont):
9866 (WebCore::Theme::caretBlinkFrequency):
9867 (WebCore::Theme::themeChanged):
9868 (WebCore::Theme::controlSize):
9869 (WebCore::Theme::controlFont):
9870 (WebCore::Theme::controlPadding):
9871 (WebCore::Theme::controlInternalPadding):
9872 (WebCore::Theme::controlBorder):
9873 (WebCore::Theme::controlBorderRadius):
9874 (WebCore::Theme::paint):
9875 (WebCore::Theme::inflateControlPaintRect):
9876 * platform/ThemeTypes.h: Added.
9877 (WebCore::):
9878 (WebCore::ControlBox::ControlBox):
9879 (WebCore::ControlBox::top):
9880 (WebCore::ControlBox::right):
9881 (WebCore::ControlBox::bottom):
9882 (WebCore::ControlBox::left):
9883 * platform/mac/ThemeMac.h: Added.
9884 (WebCore::ThemeMac::ThemeMac):
9885 (WebCore::ThemeMac::~ThemeMac):
9886 * platform/mac/ThemeMac.mm: Added.
9887 (WebCore::platformTheme):
9888 * rendering/RenderTheme.cpp:
9889 (WebCore::RenderTheme::RenderTheme):
9890 * rendering/RenderTheme.h:
9891
jmalonzo@webkit.org38edc132008-10-17 21:16:01 +000098922008-10-17 Marco Barisione <marco.barisione@collabora.co.uk>
9893
9894 Reviewed by Sam Weinig. Landed by Jan Alonzo.
9895
9896 https://bugs.webkit.org/show_bug.cgi?id=21603
9897 [GTK] Minor fixes to GOwnPtr
9898
9899 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
9900 (WebCore::mediaPlayerPrivateErrorCallback):
9901
timothy@apple.com4bfc7332008-10-17 16:51:03 +000099022008-10-17 Timothy Hatcher <timothy@apple.com>
9903
timothy@apple.com22edf572008-10-17 21:04:42 +00009904 Recompile the JavaScript functions when removing any listener, so functions that are
9905 not being debugged can resume normal speed again.
9906
9907 https://bugs.webkit.org/show_bug.cgi?id=21715
9908
9909 Reviewed by Geoffrey Garen.
9910
9911 * bindings/js/JSDOMWindowBase.cpp:
9912 (WebCore::JSDOMWindowBase::globalExec): Changed an assert into an if check. This assert
9913 was firing when closing the window and having the recompile fire after. This was an
9914 overzelious assert now.
9915 * inspector/JavaScriptDebugServer.cpp:
9916 (WebCore::JavaScriptDebugServer::didRemoveListener): Start the recompile timer.
9917 (WebCore::JavaScriptDebugServer::didRemoveLastListener): Removed the recompile timer start.
9918
99192008-10-17 Timothy Hatcher <timothy@apple.com>
9920
timothy@apple.com4bfc7332008-10-17 16:51:03 +00009921 Fixes a regression where starting a debugging session in
9922 another Web Inspector window would not show any scripts.
9923 Also only attach the debugger to only the required Pages.
9924
9925 https://bugs.webkit.org/show_bug.cgi?id=21708
9926
9927 Reviewed by Darin Adler.
9928
9929 * inspector/JavaScriptDebugServer.cpp:
9930 (WebCore::JavaScriptDebugServer::addListener): Add an assert and
9931 remove the call to willAddFirstListener(). Add a call to
9932 didAddListener().
9933 (WebCore::JavaScriptDebugServer::removeListener): Add an assert
9934 and call to didRemoveListener().
9935 (WebCore::JavaScriptDebugServer::pageCreated): Attach the debugger
9936 if there is a listener interested in the new Page.
9937 (WebCore::JavaScriptDebugServer::hasListenersInterestedInPage):
9938 Use hasGlobalListeners() instead of isEmpty().
9939 (WebCore::JavaScriptDebugServer::sourceParsed): Ditto.
9940 (WebCore::JavaScriptDebugServer::didAddListener): Added. Attach the
9941 debugger to the page if non-null, or all pages if page is null.
9942 (WebCore::JavaScriptDebugServer::didRemoveListener): Added. Detach
9943 the debugger only if there are no interested listeners.
9944 (WebCore::JavaScriptDebugServer::didRemoveLastListener): Remove the
9945 call to Page::setDebuggerForAllPages().
9946 * inspector/JavaScriptDebugServer.h:
9947 (WebCore::JavaScriptDebugServer::hasGlobalListeners): Added.
9948
brettw@chromium.orgaf9954f2008-10-17 15:56:24 +000099492008-10-15 Brett Wilson <brettw@chromium.org>
9950
9951 Reviewed by Timothy Hatcher.
9952
9953 Have ImageDocument generate its own filename for the title of images
9954 without relying on the suggested filename from the network layer, which
9955 may be nonexistant or not relevant.
9956 https://bugs.webkit.org/show_bug.cgi?id=21565
9957
9958 * loader/ImageDocument.cpp:
9959 (WebCore::ImageTokenizer::finish):
9960
ap@webkit.org2114abd2008-10-17 08:10:55 +000099612008-10-17 Alexey Proskuryakov <ap@webkit.org>
9962
ap@webkit.org6959ea02008-10-17 13:35:28 +00009963 Non-Mac build fix.
9964
9965 * GNUmakefile.am:
9966 * WebCore.pro:
9967 * WebCore.vcproj/WebCore.vcproj:
9968 * WebCoreSources.bkl:
9969 Added ActiveDOMObject to the build.
9970
99712008-10-17 Alexey Proskuryakov <ap@webkit.org>
9972
ap@webkit.org2114abd2008-10-17 08:10:55 +00009973 Reviewed by Sam Weinig.
9974
9975 https://bugs.webkit.org/show_bug.cgi?id=21642
9976 Abstract out active object tracking
9977
9978 * WebCore.xcodeproj/project.pbxproj:
9979 * bindings/js/JSDOMBinding.cpp:
9980 (WebCore::markActiveObjectsForDocument):
9981 * dom/ActiveDOMObject.cpp: Added.
9982 (WebCore::ActiveDOMObject::ActiveDOMObject):
9983 (WebCore::ActiveDOMObject::~ActiveDOMObject):
9984 (WebCore::ActiveDOMObject::contextDestroyed):
9985 (WebCore::ActiveDOMObject::stop):
9986 * dom/ActiveDOMObject.h: Added.
9987 (WebCore::ActiveDOMObject::document):
9988 (WebCore::ActiveDOMObject::hasPendingActivity):
9989 (WebCore::ActiveDOMObject::setPendingActivity):
9990 (WebCore::ActiveDOMObject::unsetPendingActivity):
9991 * dom/Document.cpp:
9992 (WebCore::Document::~Document):
9993 (WebCore::Document::stopActiveDOMObjects):
9994 (WebCore::Document::createdActiveDOMObject):
9995 (WebCore::Document::destroyedActiveDOMObject):
9996 * dom/Document.h:
9997 (WebCore::Document::activeDOMObjects):
9998 * dom/MessagePort.cpp:
9999 (WebCore::MessagePort::contextDestroyed):
10000 * dom/MessagePort.h:
10001 * loader/FrameLoader.cpp:
10002 (WebCore::FrameLoader::stopLoading):
10003 * xml/XMLHttpRequest.cpp:
10004 (WebCore::XMLHttpRequest::XMLHttpRequest):
10005 (WebCore::XMLHttpRequest::~XMLHttpRequest):
10006 (WebCore::XMLHttpRequest::associatedFrame):
10007 (WebCore::XMLHttpRequest::responseXML):
10008 (WebCore::XMLHttpRequest::callReadyStateChangeListener):
10009 (WebCore::XMLHttpRequest::initSend):
10010 (WebCore::XMLHttpRequest::send):
10011 (WebCore::XMLHttpRequest::createRequest):
10012 (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
10013 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
10014 (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
10015 (WebCore::XMLHttpRequest::loadRequestSynchronously):
10016 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
10017 (WebCore::XMLHttpRequest::dropProtection):
10018 (WebCore::XMLHttpRequest::setRequestHeader):
10019 (WebCore::XMLHttpRequest::processSyncLoadResults):
10020 (WebCore::XMLHttpRequest::didFinishLoading):
10021 (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
10022 (WebCore::XMLHttpRequest::willSendRequest):
10023 (WebCore::XMLHttpRequest::accessControlCheck):
10024 (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
10025 (WebCore::XMLHttpRequest::stop):
10026 (WebCore::XMLHttpRequest::contextDestroyed):
10027 * xml/XMLHttpRequest.h:
10028 Move activity tracking to a new ActiveDOMObject class.
10029
hyatt@apple.comdec0cbf22008-10-17 00:25:33 +0000100302008-10-16 David Hyatt <hyatt@apple.com>
10031
hyatt@apple.comd4925582008-10-17 01:20:46 +000010032 Simplify styleForRenderer to avoid confusion. Callers in the SVG filter code thought "forRenderer" meant
10033 they would be given a style that corresponded to the RenderObject* passed in. This is not what the code
10034 did though. This patch removes the renderer argument and the Element subclass shadow implementation
10035 so that confusion like this can't occur again.
10036
10037 Reviewed by Oliver Hunt
10038
10039 * dom/Element.cpp:
10040 * dom/Element.h:
10041 * dom/Node.cpp:
10042 (WebCore::Node::createRendererIfNeeded):
10043 (WebCore::Node::styleForRenderer):
10044 * dom/Node.h:
10045 * html/HTMLOptGroupElement.cpp:
10046 (WebCore::HTMLOptGroupElement::attach):
10047 * html/HTMLOptionElement.cpp:
10048 (WebCore::HTMLOptionElement::attach):
10049 * svg/SVGClipPathElement.cpp:
10050 (WebCore::SVGClipPathElement::canvasResource):
10051 * svg/SVGFEDiffuseLightingElement.cpp:
10052 (WebCore::SVGFEDiffuseLightingElement::build):
10053 * svg/SVGFEFloodElement.cpp:
10054 (WebCore::SVGFEFloodElement::build):
10055 * svg/SVGFESpecularLightingElement.cpp:
10056 (WebCore::SVGFESpecularLightingElement::build):
10057 * svg/SVGGradientElement.cpp:
10058 (WebCore::SVGGradientElement::buildStops):
10059 * svg/SVGUseElement.cpp:
10060 (WebCore::SVGUseElement::attachShadowTree):
10061
100622008-10-16 David Hyatt <hyatt@apple.com>
10063
hyatt@apple.comdec0cbf22008-10-17 00:25:33 +000010064 https://bugs.webkit.org/attachment.cgi?bugid=21647
10065
10066 Make RenderStyle inherit from RefCounted so that it works with RefPtr. RenderStyle was being malloced
10067 out of the RenderArena. Years and years ago (before TCMalloc), the plan was to make RenderStyles and
10068 all their associated sub-structs use the arena. However only the RenderStyle itself was ever changed
10069 to use the arena.
10070
10071 At a later point style sharing was implemented, which made using the arena for styles pretty pointless,
10072 as the bulk of the styles on a given page are actually shared. Not ever making the sub-structs use the
10073 arena also limited the usefulness.
10074
10075 Now that we have RefPtr/PassRefPtr to eliminate manual ref/deref and now that we use TCMalloc for fast
10076 mallocs, there is no reason to keep RenderStyles in the arena. The benefits of being able to eliminate
10077 manual ref/deref far outweigh keeping them in the arena.
10078
10079 Reviewed by Adam Roben
10080
10081 * css/CSSStyleSelector.cpp:
10082 (WebCore::CSSStyleSelector::CSSStyleSelector):
10083 (WebCore::CSSStyleSelector::~CSSStyleSelector):
10084 (WebCore::CSSStyleSelector::styleForElement):
10085 (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
10086 (WebCore::CSSStyleSelector::pseudoStyleForElement):
10087 These methods now return a PassRefPtr. They will null out the m_style variable as they hand it back
10088 so that it isn't left pointing to the previous style resolve RenderStyle (which is what the old code did).
10089
10090 (WebCore::CSSStyleSelector::updateFont):
10091 (WebCore::CSSStyleSelector::checkSelector):
10092 (WebCore::CSSStyleSelector::applyProperty):
10093 (WebCore::CSSStyleSelector::mapFillSize):
10094 (WebCore::CSSStyleSelector::mapFillXPosition):
10095 (WebCore::CSSStyleSelector::mapFillYPosition):
10096 * css/CSSStyleSelector.h:
10097 (WebCore::CSSStyleSelector::style):
10098 * dom/Document.cpp:
10099 (WebCore::Document::recalcStyle):
10100 * dom/Element.cpp:
10101 (WebCore::Element::styleForRenderer):
10102 (WebCore::Element::recalcStyle):
10103 (WebCore::Element::computedStyle):
10104 * dom/Element.h:
10105 * dom/ElementRareData.h:
10106 (WebCore::ElementRareData::ElementRareData):
10107 (WebCore::ElementRareData::resetComputedStyle):
10108 * dom/Node.cpp:
10109 (WebCore::Node::diff):
10110 (WebCore::Node::createRendererIfNeeded):
10111 (WebCore::Node::styleForRenderer):
10112 (WebCore::Node::setRenderStyle):
10113 * dom/Node.h:
10114 * html/CanvasRenderingContext2D.cpp:
10115 (WebCore::CanvasRenderingContext2D::setFont):
10116 * html/HTMLOptGroupElement.cpp:
10117 (WebCore::HTMLOptGroupElement::attach):
10118 (WebCore::HTMLOptGroupElement::detach):
10119 (WebCore::HTMLOptGroupElement::setRenderStyle):
10120 (WebCore::HTMLOptGroupElement::nonRendererRenderStyle):
10121 * html/HTMLOptGroupElement.h:
10122 * html/HTMLOptionElement.cpp:
10123 (WebCore::HTMLOptionElement::attach):
10124 (WebCore::HTMLOptionElement::detach):
10125 (WebCore::HTMLOptionElement::setRenderStyle):
10126 (WebCore::HTMLOptionElement::nonRendererRenderStyle):
10127 * html/HTMLOptionElement.h:
10128 * page/animation/AnimationBase.h:
10129 (WebCore::AnimationBase::animate):
10130 * page/animation/AnimationController.cpp:
10131 (WebCore::AnimationController::updateAnimations):
10132 * page/animation/AnimationController.h:
10133 * page/animation/CompositeAnimation.cpp:
10134 (WebCore::CompositeAnimationPrivate::updateTransitions):
10135 (WebCore::CompositeAnimationPrivate::updateKeyframeAnimations):
10136 (WebCore::CompositeAnimationPrivate::animate):
10137 (WebCore::CompositeAnimation::animate):
10138 * page/animation/CompositeAnimation.h:
10139 * page/animation/ImplicitAnimation.cpp:
10140 (WebCore::ImplicitAnimation::ImplicitAnimation):
10141 (WebCore::ImplicitAnimation::~ImplicitAnimation):
10142 (WebCore::ImplicitAnimation::animate):
10143 (WebCore::ImplicitAnimation::reset):
10144 (WebCore::ImplicitAnimation::isTargetPropertyEqual):
10145 (WebCore::ImplicitAnimation::blendPropertyValueInStyle):
10146 * page/animation/ImplicitAnimation.h:
10147 (WebCore::ImplicitAnimation::create):
10148 * page/animation/KeyframeAnimation.cpp:
10149 (WebCore::KeyframeAnimation::KeyframeAnimation):
10150 (WebCore::KeyframeAnimation::~KeyframeAnimation):
10151 (WebCore::KeyframeAnimation::animate):
10152 (WebCore::KeyframeAnimation::validateTransformFunctionList):
10153 * page/animation/KeyframeAnimation.h:
10154 (WebCore::KeyframeAnimation::create):
10155 (WebCore::KeyframeAnimation::unanimatedStyle):
10156 * rendering/InlineTextBox.cpp:
10157 (WebCore::InlineTextBox::paint):
10158 * rendering/MediaControlElements.cpp:
10159 (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
10160 (WebCore::MediaControlInputElement::MediaControlInputElement):
10161 * rendering/RenderBlock.cpp:
10162 (WebCore::RenderBlock::styleDidChange):
10163 (WebCore::RenderBlock::updateFirstLetter):
10164 * rendering/RenderContainer.cpp:
10165 (WebCore::RenderContainer::addChild):
10166 (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
10167 * rendering/RenderFileUploadControl.cpp:
10168 (WebCore::RenderFileUploadControl::updateFromElement):
10169 (WebCore::RenderFileUploadControl::createButtonStyle):
10170 * rendering/RenderFileUploadControl.h:
10171 * rendering/RenderFlow.cpp:
10172 (WebCore::RenderFlow::createAnonymousFlow):
10173 * rendering/RenderFlow.h:
10174 * rendering/RenderInline.cpp:
10175 (WebCore::RenderInline::addChildToFlow):
10176 * rendering/RenderLayer.cpp:
10177 (WebCore::RenderLayer::updateScrollCornerStyle):
10178 (WebCore::RenderLayer::updateResizerStyle):
10179 (WebCore::RenderLayer::updateReflectionStyle):
10180 * rendering/RenderListItem.cpp:
10181 (WebCore::RenderListItem::styleDidChange):
10182 * rendering/RenderMedia.cpp:
10183 (WebCore::RenderMedia::createPanel):
10184 (WebCore::RenderMedia::createTimeDisplay):
10185 (WebCore::RenderMedia::changeOpacity):
10186 * rendering/RenderObject.cpp:
10187 (WebCore::RenderObject::selectionBackgroundColor):
10188 (WebCore::RenderObject::selectionForegroundColor):
10189 (WebCore::RenderObject::createAnonymousBlock):
10190 (WebCore::RenderObject::setAnimatableStyle):
10191 (WebCore::RenderObject::setStyle):
10192 (WebCore::RenderObject::setStyleInternal):
10193 (WebCore::RenderObject::arenaDelete):
10194 (WebCore::RenderObject::firstLineStyle):
10195 (WebCore::RenderObject::getPseudoStyle):
10196 * rendering/RenderObject.h:
10197 (WebCore::RenderObject::style):
10198 * rendering/RenderSVGBlock.cpp:
10199 (WebCore::RenderSVGBlock::setStyle):
10200 * rendering/RenderSVGBlock.h:
10201 * rendering/RenderScrollbar.cpp:
10202 (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
10203 (WebCore::RenderScrollbar::updateScrollbarPart):
10204 * rendering/RenderScrollbar.h:
10205 * rendering/RenderSlider.cpp:
10206 (WebCore::RenderSlider::styleDidChange):
10207 (WebCore::RenderSlider::createThumbStyle):
10208 (WebCore::RenderSlider::updateFromElement):
10209 * rendering/RenderSlider.h:
10210 * rendering/RenderTable.cpp:
10211 (WebCore::RenderTable::addChild):
10212 * rendering/RenderTableRow.cpp:
10213 (WebCore::RenderTableRow::addChild):
10214 * rendering/RenderTableSection.cpp:
10215 (WebCore::RenderTableSection::addChild):
10216 * rendering/RenderTextControl.cpp:
10217 (WebCore::RenderTextControl::styleDidChange):
10218 (WebCore::RenderTextControl::createInnerBlockStyle):
10219 (WebCore::RenderTextControl::createInnerTextStyle):
10220 (WebCore::RenderTextControl::createResultsButtonStyle):
10221 (WebCore::RenderTextControl::createCancelButtonStyle):
10222 (WebCore::RenderTextControl::createSubtreeIfNeeded):
10223 (WebCore::RenderTextControl::updatePlaceholderVisibility):
10224 * rendering/RenderTextControl.h:
10225 * rendering/TextControlInnerElements.cpp:
10226 (WebCore::TextControlInnerElement::attachInnerElement):
10227 * rendering/TextControlInnerElements.h:
10228 * rendering/style/KeyframeList.cpp:
10229 (WebCore::KeyframeList::clear):
10230 (WebCore::KeyframeList::operator==):
10231 (WebCore::KeyframeList::insert):
10232 * rendering/style/KeyframeList.h:
10233 (WebCore::KeyframeValue::KeyframeValue):
10234 (WebCore::KeyframeValue::~KeyframeValue):
10235 (WebCore::KeyframeValue::key):
10236 (WebCore::KeyframeValue::style):
10237 * rendering/style/RenderStyle.cpp:
10238 (WebCore::defaultStyle):
10239 (WebCore::RenderStyle::create):
10240 (WebCore::RenderStyle::createDefaultStyle):
10241 (WebCore::RenderStyle::clone):
10242 (WebCore::RenderStyle::RenderStyle):
10243 (WebCore::RenderStyle::getCachedPseudoStyle):
10244 (WebCore::RenderStyle::addCachedPseudoStyle):
10245 * rendering/style/RenderStyle.h:
10246 (WebCore::):
10247 (WebCore::InheritedFlags::operator!=):
10248 * svg/SVGClipPathElement.cpp:
10249 (WebCore::SVGClipPathElement::canvasResource):
10250 * svg/SVGGradientElement.cpp:
10251 (WebCore::SVGGradientElement::buildStops):
10252 * svg/SVGStyledElement.cpp:
10253 (WebCore::SVGStyledElement::resolveStyle):
10254 * svg/SVGStyledElement.h:
10255 * svg/SVGUseElement.cpp:
10256 (WebCore::SVGUseElement::recalcStyle):
10257 (WebCore::SVGUseElement::attachShadowTree):
10258
andersca@apple.com2c7cec42008-10-16 19:08:19 +0000102592008-10-16 Kenneth Russell <kenneth.russell@sun.com>
10260
10261 Reviewed and landed by Anders Carlsson.
10262
10263 https://bugs.webkit.org/show_bug.cgi?id=21587
10264 NPN_PluginThreadAsyncCall does not work properly
10265
10266 * plugins/PluginMainThreadScheduler.cpp:
10267 (WebCore::PluginMainThreadScheduler::dispatchCalls):
10268 Make sure to set m_callPending to false once the queue has been cleared.
10269
ap@webkit.orga89bd1e2008-10-16 08:00:53 +0000102702008-10-15 Alexey Proskuryakov <ap@webkit.org>
10271
10272 Reviewed by Darin Adler.
10273
10274 https://bugs.webkit.org/show_bug.cgi?id=21609
10275 Make MessagePorts protect their peers across heaps
10276
10277 * dom/MessagePort.cpp:
10278 (WebCore::MessagePort::MessagePort):
10279 * dom/MessagePort.h:
10280 (WebCore::MessagePort::setJSWrapperIsKnownToBeInaccessible):
10281 (WebCore::MessagePort::jsWrapperIsKnownToBeInaccessible):
10282 Track objects whose JS wrappers are no longer reachable in MessagePort. Unfortunately, this
10283 means that the implementation object knows about JS bindings - but it is not possible to
10284 access JS wrappers from another heap/thread.
10285
10286 * bindings/js/JSDOMBinding.cpp:
10287 (WebCore::markCrossHeapDependentObjectsForDocument):
10288 * bindings/js/JSDOMBinding.h:
10289 * bindings/js/JSDOMWindowBase.cpp:
10290 (WebCore::JSDOMWindowBase::markCrossHeapDependentObjects):
10291 * bindings/js/JSDOMWindowBase.h:
10292 Implement cross-heap dependency tracking for entangled MessagePorts. If a wrapper object
10293 hasn't been marked normally, it is marked as inaccessible. It is then marked manually,
10294 as long as its entangled port is accessible itself.
10295
jhoneycutt@apple.com2edeb802008-10-16 04:56:46 +0000102962008-10-15 Jon Honeycutt <jhoneycutt@apple.com>
10297
10298 Remove unneeded check of whether a Page defers loading before running it
10299 in a modal dialog.
10300
10301 No test possible.
10302
10303 Reviewed by Tim Hatcher.
10304
10305 * page/Chrome.cpp:
10306
ggaren@apple.com9f980342008-10-15 23:33:07 +0000103072008-10-15 Geoffrey Garen <ggaren@apple.com>
10308
10309 Reviewed by Cameron Zwarich.
10310
10311 Fixed https://bugs.webkit.org/show_bug.cgi?id=21345
10312 Start the debugger without reloading the inspected page
10313
10314 * WebCore.base.exp: New symbols.
10315
10316 * ForwardingHeaders/kjs/CollectorHeapIterator.h: Copied from ForwardingHeaders/kjs/ustring.h.
10317 * ForwardingHeaders/kjs/Parser.h: Copied from ForwardingHeaders/kjs/ustring.h.
10318 * WebCore.xcodeproj/project.pbxproj: New forwarding headers.
10319
10320 * inspector/InspectorController.cpp:
10321 (WebCore::InspectorController::setWindowVisible):
10322 (WebCore::InspectorController::windowScriptObjectAvailable):
10323 (WebCore::InspectorController::startDebugging):
10324 * inspector/InspectorController.h: Renamed startDebuggingAndReloadInspectedPage
10325 to startDebugging, and changed its behavior to match.
10326
10327 * inspector/JavaScriptDebugListener.h:
10328 * inspector/JavaScriptDebugServer.cpp:
10329 (WebCore::JavaScriptDebugServer::JavaScriptDebugServer):
10330 (WebCore::JavaScriptDebugServer::addListener):
10331 (WebCore::JavaScriptDebugServer::removeListener):
10332 (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
10333 (WebCore::JavaScriptDebugServer::willAddFirstListener):
10334 (WebCore::JavaScriptDebugServer::didRemoveLastListener):
10335 * inspector/JavaScriptDebugServer.h: Refactored the
10336 JavaScriptDebugServer to centralize handling of adding the first listener
10337 and removing the last. Then, added a feature to recompile all JS functions
10338 in these cases. This allows us to dynamically add and remove hooks like
10339 the debugger hooks without reloading the page.
10340
10341 * inspector/front-end/ScriptsPanel.js:
10342 * English.lproj/localizedStrings.js: Updated for startDebuggingAndReloadInspectedPage =>
10343 startDebugging rename. Removed all UI that claimed that starting the
10344 debugger would reload the page.
10345
adele@apple.com40c50522008-10-15 22:10:25 +0000103462008-10-15 Adele Peterson <adele@apple.com>
10347
10348 Attempt to fix the Tiger build.
10349
10350 * platform/network/mac/ResourceHandleMac.mm:
10351
zecke@webkit.orgaa1e7642008-10-15 22:08:06 +0000103522008-10-15 Holger Hans Peter Freyther <zecke@selfish.org>
10353
zecke@webkit.orgc588fe72008-10-15 22:22:38 +000010354 Build fix attempt.
10355
10356 Try to fix static/non-static declaration of g_string_append_uri_escape
10357 by renaming that string. Another look needs to be taken.
10358
10359 * platform/gtk/guriescape.c:
10360 (_webcore_g_string_append_uri_escaped):
10361 (_webcore_g_uri_escape_string):
10362
103632008-10-15 Holger Hans Peter Freyther <zecke@selfish.org>
10364
zecke@webkit.orgaa1e7642008-10-15 22:08:06 +000010365 Build fix.
10366
10367 m_animatingImageType is gone.
10368
10369 * platform/graphics/cairo/ImageCairo.cpp:
10370 (WebCore::BitmapImage::BitmapImage):
10371
zecke@webkit.org34a153a2008-10-15 22:01:31 +0000103722008-10-15 Jeff Cook <cookiecaper@gmail.com>
10373
10374 Reviewed by Holger Freyther.
10375
10376 Stop SIGSEGV when leaving a page with a Flash object by reordering
10377 window destruction and plugin stop.
10378
10379 See https://bugs.webkit.org/show_bug.cgi?id=20779
10380
10381 * plugins/gtk/PluginViewGtk.cpp:
10382 (WebCore::PluginView::stop):
10383
adele@apple.com555df922008-10-15 21:53:46 +0000103842008-10-15 Adele Peterson <adele@apple.com>
10385
10386 Reviewed by Sam Weinig.
10387
10388 Implement didSendBodyData delegate method, and use older code path when that delegate doesn't exist.
10389
10390 * platform/network/ResourceHandle.h:
10391 * platform/network/mac/FormDataStreamMac.mm: (WebCore::formRead):
10392 * platform/network/mac/ResourceHandleMac.mm:
10393 (WebCore::ResourceHandle::didSendBodyDataDelegateExists):
10394 (WebCore::ResourceHandle::start):
10395 (WebCore::ResourceHandle::cancel):
10396 (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
10397 (-[WebCoreResourceHandleAsDelegate connection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:]):
10398 (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
10399 (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]):
10400
pkasting@chromium.orgaf85ed22008-10-15 21:11:23 +0000104012008-10-15 Peter Kasting <pkasting@google.com>
10402
10403 Reviewed by David Hyatt.
10404
10405 Qt build bustage fix.
10406
10407 * platform/graphics/qt/StillImageQt.h:
10408 (WebCore::StillImage::destroyDecodedData):
10409
hyatt@apple.com8907c882008-10-15 21:06:22 +0000104102008-10-15 David Hyatt <hyatt@apple.com>
10411
10412 Make sure scrollbar styles get deleted if they aren't assigned to a renderer.
10413
10414 Reviewed by Mark Rowe
10415
10416 * rendering/RenderScrollbar.cpp:
10417 (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
10418 (WebCore::RenderScrollbar::updateScrollbarPart):
10419
pkasting@chromium.orge8a5a6b2008-10-15 20:38:13 +0000104202008-10-15 Peter Kasting <pkasting@google.com>
10421
10422 Reviewed by David Hyatt.
10423
10424 https://bugs.webkit.org/show_bug.cgi?id=19663 (Second attempt)
10425 Account for paint and timer lag when animating images. Also pretend
10426 that images whose animations were paused (by becoming invisible)
10427 continued to animate, by "catching up" to the correct frame when they're
10428 shown again.
10429
10430 * platform/graphics/BitmapImage.cpp:
10431 (WebCore::BitmapImage::BitmapImage):
10432 (WebCore::BitmapImage::destroyDecodedData):
10433 (WebCore::BitmapImage::cacheFrame):
10434 (WebCore::BitmapImage::frameIsCompleteAtIndex):
10435 (WebCore::BitmapImage::frameDurationAtIndex):
10436 (WebCore::BitmapImage::frameHasAlphaAtIndex):
10437 (WebCore::BitmapImage::repetitionCount):
10438 (WebCore::BitmapImage::shouldAnimate):
10439 (WebCore::BitmapImage::startAnimation):
10440 (WebCore::BitmapImage::resetAnimation):
10441 (WebCore::BitmapImage::advanceAnimation):
10442 (WebCore::BitmapImage::internalAdvanceAnimation):
10443 (WebCore::BitmapImage::notifyObserverAndTrimDecodedData):
10444 * platform/graphics/BitmapImage.h:
10445 (WebCore::FrameData::FrameData):
10446 (WebCore::BitmapImage::):
10447 * platform/graphics/GeneratedImage.h:
10448 (WebCore::GeneratedImage::destroyDecodedData):
10449 * platform/graphics/Image.h:
10450 * platform/graphics/cairo/ImageCairo.cpp:
10451 (WebCore::FrameData::clear):
10452 (WebCore::BitmapImage::BitmapImage):
10453 (WebCore::BitmapImage::draw):
10454 * platform/graphics/cg/ImageCG.cpp:
10455 (WebCore::FrameData::clear):
10456 (WebCore::BitmapImage::BitmapImage):
10457 (WebCore::BitmapImage::draw):
10458 * platform/graphics/cg/PDFDocumentImage.h:
10459 (WebCore::PDFDocumentImage::destroyDecodedData):
10460 * platform/graphics/qt/ImageQt.cpp:
10461 (WebCore::FrameData::clear):
10462 (WebCore::BitmapImage::draw):
10463 * platform/graphics/wx/ImageWx.cpp:
10464 (WebCore::FrameData::clear):
10465 (WebCore::BitmapImage::draw):
10466 * svg/graphics/SVGImage.h:
10467 (WebCore::SVGImage::destroyDecodedData):
10468
bdakin@apple.comcf22dba2008-10-15 20:32:43 +0000104692008-10-14 Maxime Britto <britto@apple.com>
10470
10471 Reviewed by Darin Adler, tweaked and landed by Beth.
10472
10473 * WebCore.base.exp: Exposes two functions to be able to create a
10474 selection from a point on the screen. Also exposes the new
10475 TextIterator::currentNode function.
10476 * WebCore/editing/TextIterator.cpp:
10477 (TextIterator::currentNode) : New function that returns the current
10478 text node or NULL if there is no text node.
10479
zecke@webkit.orgc6012912008-10-15 20:18:31 +0000104802008-10-15 Marco Barisione <marco.barisione@collabora.co.uk>
10481
10482 Reviewed by Holger Freyther.
10483
zecke@webkit.orgbc692f72008-10-15 20:53:02 +000010484 http://bugs.webkit.org/show_bug.cgi?id=21211
10485 [CURL] Upload doesn't work because cancel is called
10486
10487 FormDataStream::read returns 0 when retrieving data from the form
10488 fails, but also when there is no more data to send. This means that
10489 ResourceHandleManager::cancel is always called even when the data was
10490 successfully sent.
10491
10492 Check if there are more elements in the form before calling
10493 FormDataStream::read.
10494
10495 * platform/network/curl/FormDataStreamCurl.cpp:
10496 (WebCore::FormDataStream::hasMoreElements):
10497 * platform/network/curl/FormDataStreamCurl.h:
10498 * platform/network/curl/ResourceHandleManager.cpp:
10499 (WebCore::readCallback):
10500
105012008-10-15 Marco Barisione <marco.barisione@collabora.co.uk>
10502
10503 Reviewed by Holger Freyther.
10504
zecke@webkit.orgc6012912008-10-15 20:18:31 +000010505 http://bugs.webkit.org/show_bug.cgi?id=20664
10506 [GTK] File names are not always encodable in UTF-8
10507
10508 On Linux file names are just raw data and cannot always be directly
10509 encoded in UTF-8 or in any other encodings, so we escape them before
10510 storing the file name in a String and unescape them before passing
10511 them to native functions handling files.
10512
10513 * GNUmakefile.am:
10514 * platform/FileSystem.h:
10515 * platform/gtk/FileChooserGtk.cpp:
10516 (WebCore::stringByAdoptingFileSystemRepresentation):
10517 (WebCore::FileChooser::basenameForWidth):
10518 * platform/gtk/FileSystemGtk.cpp:
10519 (WebCore::filenameToString):
10520 (WebCore::filenameFromString):
10521 (WebCore::filenameForDisplay):
10522 (WebCore::fileExists):
10523 (WebCore::deleteFile):
10524 (WebCore::deleteEmptyDirectory):
10525 (WebCore::getFileSize):
10526 (WebCore::getFileModificationTime):
10527 (WebCore::makeAllDirectories):
10528 (WebCore::homeDirectoryPath):
10529 (WebCore::pathGetFileName):
10530 (WebCore::listDirectory):
10531 * platform/gtk/KURLGtk.cpp:
10532 (WebCore::KURL::fileSystemPath):
10533 * platform/gtk/SharedBufferGtk.cpp:
10534 (WebCore::SharedBuffer::createWithContentsOfFile):
10535 * platform/gtk/guriescape.c: Added.
10536 (is_valid):
10537 (gunichar_ok):
10538 (g_string_append_uri_escaped):
10539 (_webcore_g_uri_escape_string):
10540 * platform/gtk/guriescape.h: Added.
10541
darin@apple.come0c926d2008-10-15 17:02:02 +0000105422008-10-15 Dirk Schulze <vbs85@gmx.de>
10543
10544 Reviewed by Eric Seidel.
10545
10546 - part of https://bugs.webkit.org/show_bug.cgi?id=20543
10547 Moved gradient spread method out of SVG into the GraphicsContext.
10548
10549 * platform/graphics/GraphicsContext.cpp:
10550 (WebCore::GraphicsContext::spreadMethod):
10551 (WebCore::GraphicsContext::setSpreadMethod):
10552 * platform/graphics/GraphicsContext.h:
10553 (WebCore::):
10554 * platform/graphics/GraphicsContextPrivate.h:
10555 * platform/graphics/cairo/GraphicsContextCairo.cpp:
10556 (WebCore::applySpreadMethod):
10557 (WebCore::GraphicsContext::fillPath):
10558 (WebCore::GraphicsContext::strokePath):
10559 * platform/graphics/qt/GraphicsContextQt.cpp:
10560 (WebCore::applySpreadMethod):
10561 (WebCore::GraphicsContext::fillPath):
10562 (WebCore::GraphicsContext::strokePath):
10563 * svg/GradientAttributes.h:
10564 (WebCore::GradientAttributes::GradientAttributes):
10565 (WebCore::GradientAttributes::spreadMethod):
10566 (WebCore::GradientAttributes::setSpreadMethod):
10567 * svg/SVGGradientElement.cpp:
10568 (WebCore::SVGGradientElement::parseMappedAttribute):
10569 * svg/SVGGradientElement.h:
10570 * svg/SVGLinearGradientElement.cpp:
10571 (WebCore::SVGLinearGradientElement::collectGradientProperties):
10572 * svg/SVGRadialGradientElement.cpp:
10573 (WebCore::SVGRadialGradientElement::collectGradientProperties):
10574 * svg/graphics/SVGPaintServerGradient.cpp:
10575 (WebCore::operator<<):
10576 (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
10577 (WebCore::SVGPaintServerGradient::spreadMethod):
10578 (WebCore::SVGPaintServerGradient::setGradientSpreadMethod):
10579 (WebCore::SVGPaintServerGradient::externalRepresentation):
10580 * svg/graphics/SVGPaintServerGradient.h:
10581 * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp:
10582 (WebCore::SVGPaintServerGradient::setup):
10583 * svg/graphics/qt/SVGPaintServerGradientQt.cpp:
10584 (WebCore::SVGPaintServerGradient::setup):
10585
darin@chromium.org7a0c3c92008-10-15 05:22:03 +0000105862008-10-09 Darin Fisher <darin@chromium.org>
10587
10588 Reviewed by Sam Weinig.
10589
10590 Make pan scrolling a platform configurable option
10591 https://bugs.webkit.org/show_bug.cgi?id=21515
10592
10593 * page/EventHandler.cpp:
10594 (WebCore::EventHandler::handleAutoscroll):
10595 (WebCore::EventHandler::autoscrollTimerFired):
10596 (WebCore::EventHandler::stopAutoscrollTimer):
10597 (WebCore::EventHandler::handleMousePressEvent):
10598 (WebCore::EventHandler::keyEvent):
10599
darin@chromium.org5a0619c2008-10-15 05:15:47 +0000106002008-10-10 Darin Fisher <darin@chromium.org>
10601
10602 Reviewed by Darin Adler.
10603
10604 Add some PLATFORM(CHROMIUM) ifdefs to WebCore
10605 https://bugs.webkit.org/show_bug.cgi?id=21511
10606
10607 * loader/FTPDirectoryDocument.cpp:
10608 * loader/FTPDirectoryParser.cpp:
10609 * loader/FrameLoader.cpp:
10610 (WebCore::FrameLoader::finishedLoadingDocument):
10611 * platform/ContextMenuItem.h:
10612 * platform/Cursor.h:
10613 * platform/DragData.h:
10614 * platform/DragImage.h:
10615 * platform/Pasteboard.h:
10616 * platform/PlatformKeyboardEvent.h:
10617 (WebCore::PlatformKeyboardEvent::isSystemKey):
10618 * platform/PlatformMenuDescription.h:
10619 * platform/PlatformMouseEvent.h:
10620 * platform/PlatformWheelEvent.h:
10621 * platform/PopupMenu.h:
10622 * platform/ScrollView.h:
10623 * platform/Widget.h:
10624 * platform/network/NetworkStateNotifier.h:
10625
cmarrin@apple.com78e50e82008-10-14 21:31:40 +0000106262008-10-14 Chris Marrin <cmarrin@apple.com>
10627
10628 Reviewed by Darin Adler.
10629
10630 Fixed https://bugs.webkit.org/show_bug.cgi?id=21490
10631 Optimize keyframe style sheet changes by avoiding styleSheetChanged()
10632
10633 Test: css3/change-keyframes.html
10634
10635 * css/WebKitCSSKeyframesRule.cpp:
10636 (WebCore::WebKitCSSKeyframesRule::append):
10637 (WebCore::WebKitCSSKeyframesRule::deleteRule):
10638
hyatt@apple.combf26cc02008-10-14 20:35:36 +0000106392008-10-14 David Hyatt <hyatt@apple.com>
10640
10641 https://bugs.webkit.org/show_bug.cgi?id=21595
10642
10643 Clean up background and overflow propagation from the body to the viewport. Make it match the
10644 latest CSS2.1 spec thinking.
10645
10646 Reviewed by Adam Roben
10647
10648 Added many tests at fast/body-propagation/. These are Simon Pieters' tests of propagation handling
10649 (available at http://simon.html5.org/test/css/magic-body/).
10650
10651 * dom/Document.cpp:
10652 (WebCore::Document::body):
10653 * page/FrameView.cpp:
10654 (WebCore::FrameView::layout):
10655 * rendering/RenderBox.cpp:
10656 (WebCore::RenderBox::styleDidChange):
10657 (WebCore::RenderBox::paintRootBoxDecorations):
10658 (WebCore::RenderBox::paintBoxDecorations):
10659 (WebCore::RenderBox::repaintLayerRectsForImage):
10660
weinig@apple.com91cdcd52008-10-14 19:55:12 +0000106612008-10-14 Dimitri Glazkov <dglazkov@chromium.org>
10662
10663 Reviewed and landed by Sam Weinig.
10664
10665 Due to change in spec (http://dev.w3.org/2006/webapi/selectors-api/#namespace),
10666 remove NSResolver code, leaving only checking for selectors that need
10667 NS resolution and throwing a coresponding error.
10668
10669 * WebCore.pro:
10670 * WebCore.vcproj/WebCore.vcproj:
10671 * WebCore.xcodeproj/project.pbxproj:
10672 * WebCoreSources.bkl:
10673 * bindings/js/JSDocumentCustom.cpp:
10674 * bindings/js/JSDocumentFragmentCustom.cpp:
10675 * bindings/js/JSElementCustom.cpp:
10676 * bindings/js/JSNSResolver.cpp: Removed.
10677 * bindings/js/JSNSResolver.h: Removed.
10678 * dom/Document.idl:
10679 * dom/DocumentFragment.idl:
10680 * dom/Element.idl:
10681 * dom/NSResolver.h: Removed.
10682 * dom/NSResolver.idl: Removed.
10683 * dom/Node.h:
10684 * dom/Node.cpp:
10685 (WebCore::forEachTagSelector):
10686 (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
10687 (WebCore::selectorNeedsNamespaceResolution):
10688 (WebCore::Node::querySelector):
10689 (WebCore::Node::querySelectorAll):
10690
darin@apple.com2b4eb8f2008-10-14 19:19:33 +0000106912008-10-14 Darin Adler <darin@apple.com>
10692
10693 Reviewed by Sam Weinig (all but the FormDataListItem rename).
10694
10695 - https://bugs.webkit.org/show_bug.cgi?id=21593
10696 Bug 21593: add multiple-file support to HTMLFormElement
10697
10698 * html/FormDataList.cpp: Removed appendFile since it's now inline.
10699 Also took incorrect old copyrights off of this file that are left
10700 over from when it was split.
10701 * html/FormDataList.h: Ditto. Renamed FormDataListItem to Item and
10702 made it a member of FormDataList. Changed it to hold a File object
10703 instead of a path. And made its data members private. Changed
10704 FormDataList::appendFile accordingly.
10705
10706 * html/HTMLFormElement.cpp:
10707 (WebCore::HTMLFormElement::formData): Updated for above changes.
10708 Removed the code that special-cases HTMLInputElement, because now
10709 the FormDataListItem has everything we need. And if there are
10710 multiple files, we'll get multiple list items for them.
10711
10712 * html/HTMLInputElement.cpp:
10713 (WebCore::HTMLInputElement::appendFormData): Changed the code for
10714 <input type=file> to use File objects instead of path strings and
10715 also to append multiple files if the file list has them.
10716
vestbo@webkit.org03ca7582008-10-14 08:38:41 +0000107172008-10-14 Tor Arne Vestbø <tavestbo@trolltech.com>
10718
10719 Reviewed by Simon.
vestbo@webkit.org61042592008-10-14 12:50:51 +000010720
10721 Fix QtWebKit scrollbar painting errors
10722
10723 * platform/qt/ScrollbarThemeQt.cpp:
10724 (WebCore::ScrollbarThemeQt::paint):
10725 (WebCore::ScrollbarThemeQt::paintScrollCorner):
10726
107272008-10-14 Tor Arne Vestbø <tavestbo@trolltech.com>
10728
10729 Reviewed by Simon.
vestbo@webkit.org03ca7582008-10-14 08:38:41 +000010730
vestbo@webkit.org084e5f62008-10-14 08:43:01 +000010731 Fix scrollbar arrows for horizontal scrollbars
10732
10733 * platform/qt/ScrollbarThemeQt.cpp:
10734 (WebCore::styleOptionSlider):
10735
107362008-10-14 Tor Arne Vestbø <tavestbo@trolltech.com>
10737
10738 Reviewed by Simon.
10739
vestbo@webkit.org03ca7582008-10-14 08:38:41 +000010740 Use style-painter to draw scrollbars in ScrollbarThemeQt
10741
10742 This has the benefit of setting up the painter properly without
10743 antialiasing and saving and restoring the brush. It also ensures
10744 that we use the style of the QWebView over the QApplication style
10745 if possible.
10746
10747 * platform/qt/RenderThemeQt.cpp:
10748 (WebCore::StylePainter::StylePainter):
10749 (WebCore::StylePainter::init):
10750 * platform/qt/RenderThemeQt.h:
10751 * platform/qt/ScrollbarThemeQt.cpp:
10752 (WebCore::ScrollbarThemeQt::paint):
10753
hyatt@apple.com8c2a2e62008-10-14 06:12:14 +0000107542008-10-13 David Hyatt <hyatt@apple.com>
10755
hyatt@apple.com2768a4b2008-10-14 06:45:52 +000010756 Add support for CSS transitions on some SVG properties. This patch is intended to be a guideline
10757 for how to add support for the rest.
10758
10759 Reviewed by Oliver Hunt
10760
10761 * page/animation/AnimationBase.cpp:
10762 (WebCore::ensurePropertyMap):
10763 * rendering/style/RenderStyle.h:
10764 (WebCore::RenderStyle::fillOpacity):
10765 (WebCore::RenderStyle::setFillOpacity):
10766 (WebCore::RenderStyle::strokeOpacity):
10767 (WebCore::RenderStyle::setStrokeOpacity):
10768 (WebCore::RenderStyle::floodOpacity):
10769 (WebCore::RenderStyle::setFloodOpacity):
10770
107712008-10-13 David Hyatt <hyatt@apple.com>
10772
hyatt@apple.comda1f6322008-10-14 06:29:36 +000010773 <rdar://problem/6289712> REGRESSION(r37432-37490): Scroll bar is not drawn in Bookmark View, Preferences sheets.
10774
10775 Fix for disabled scrollbars not painting in Windows Safari. Make sure that the Windows theme
10776 implements paintTrackBackground so that when the thumb is not present the track still paints.
10777
10778 Reviewed by Oliver Hunt
10779
10780 * platform/ScrollbarThemeComposite.cpp:
10781 (WebCore::ScrollbarThemeComposite::paint):
10782 * platform/win/ScrollbarThemeWin.cpp:
10783 (WebCore::ScrollbarThemeWin::paintTrackBackground):
10784 * platform/win/ScrollbarThemeWin.h:
10785
107862008-10-13 David Hyatt <hyatt@apple.com>
10787
hyatt@apple.com8c2a2e62008-10-14 06:12:14 +000010788 Fix over-invalidation of native scrollbars.
10789
10790 Reviewed by Oliver Hunt
10791
10792 * platform/Scrollbar.h:
10793 (WebCore::Scrollbar::styleChanged):
10794 * platform/mac/ScrollbarThemeMac.mm:
10795 (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
10796 * rendering/RenderScrollbar.cpp:
10797 (WebCore::RenderScrollbar::styleChanged):
10798
alp@webkit.orga3417882008-10-14 04:14:38 +0000107992008-10-13 Alp Toker <alp@nuanti.com>
10800
10801 Fix autotools dist build target by listing recently added header
10802 files only. Not reviewed.
10803
10804 * GNUmakefile.am:
10805
mrowe@apple.com5c9cb4d2008-10-14 02:28:46 +0000108062008-10-13 Mark Rowe <mrowe@apple.com>
10807
10808 Reviewed by Brady Eidson.
10809
10810 Don't run a SQLite query on every iteration of the sync thread when the query
10811 will touch a large portion of the icon database while performing no useful work.
10812
10813 * loader/icon/IconDatabase.cpp:
10814 (WebCore::IconDatabase::writeToDatabase): Don't call checkForDanglingPageURLs unless
10815 we modified the database.
10816 (WebCore::IconDatabase::checkForDanglingPageURLs): Don't do any work in a release build
10817 unless we've been asked to prune any dangling pageURLs that we find.
10818
mjs@apple.com268962e2008-10-14 01:21:43 +0000108192008-10-13 Maciej Stachowiak <mjs@apple.com>
10820
10821 Rubber stamped by Mark Rowe.
10822
10823 - use gcc 4.2 when building with Xcode 3.1 or newer on Leopard, even though this is not the default
10824
10825 * Configurations/DebugRelease.xcconfig:
10826
hyatt@apple.comc3ed34a2008-10-14 00:59:46 +0000108272008-10-13 David Hyatt <hyatt@apple.com>
10828
10829 Make dropdown lists on Windows work with CSS custom scrollbars.
10830
10831 Reviewed by Adele
10832
10833 * platform/PopupMenu.h:
10834 (WebCore::PopupMenu::scrollbarCornerPresent):
10835 * platform/PopupMenuClient.h:
10836 * platform/win/PopupMenuWin.cpp:
10837 (WebCore::PopupMenu::show):
10838 * rendering/RenderMenuList.cpp:
10839 (WebCore::RenderMenuList::createScrollbar):
10840 * rendering/RenderMenuList.h:
10841 * rendering/RenderTextControl.cpp:
10842 (WebCore::RenderTextControl::createScrollbar):
10843 * rendering/RenderTextControl.h:
10844
cfleizach@apple.com12468c12008-10-13 22:48:19 +0000108452008-10-13 Chris Fleizach <cfleizach@apple.com>
10846
10847 Reviewed by Beth Dakin.
10848
10849 <rdar://problem/6271864> Links from image maps not being included in AXLinkUIElements
10850
10851 Links from image maps were not being included in the web area's AXLinkUIElements attribute.
10852 The position of image map links was being reported incorrectly and the parent-chain
10853 hierarchy for image map links was incorrect because image map links did not have a reference
10854 to their parent image.
10855
10856 Test: accessibility/document-links.html
10857
10858 * page/AccessibilityImageMapLink.cpp:
10859 (WebCore::AccessibilityImageMapLink::parentObject):
10860 (WebCore::AccessibilityImageMapLink::actionElement):
10861 (WebCore::AccessibilityImageMapLink::elementRect):
10862 * page/AccessibilityImageMapLink.h:
10863 (WebCore::AccessibilityImageMapLink::setHTMLMapElement):
10864 (WebCore::AccessibilityImageMapLink::setParent):
10865 * page/AccessibilityObject.cpp:
10866 * page/AccessibilityObject.h:
10867 * page/AccessibilityRenderObject.cpp:
10868 (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
10869 (WebCore::AccessibilityRenderObject::getDocumentLinks):
10870 (WebCore::AccessibilityRenderObject::addChildren):
10871 * page/AccessibilityRenderObject.h:
10872 * page/mac/AccessibilityObjectWrapper.mm:
10873 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
10874
hyatt@apple.com59696ac2008-10-13 21:53:07 +0000108752008-10-13 David Hyatt <hyatt@apple.com>
10876
hyatt@apple.com456dd872008-10-13 22:42:59 +000010877 Make RenderListBox work with CSS scrollbars. Refactoring this code to support creation/destruction in
10878 the same way RenderLayer does also fixes a bug where the PLT would assert on the next-to-last page (no
10879 idea how to make a test case for that, though, since I couldn't repro without running the whole PLT).
10880
10881 Reviewed by Tim Hatcher
10882
10883 Added scrollbars/listbox-scrollbar-combinations.html
10884
10885 * rendering/RenderListBox.cpp:
10886 (WebCore::RenderListBox::~RenderListBox):
10887 (WebCore::RenderListBox::updateFromElement):
10888 (WebCore::RenderListBox::createScrollbar):
10889 (WebCore::RenderListBox::destroyScrollbar):
10890 (WebCore::RenderListBox::setHasVerticalScrollbar):
10891 * rendering/RenderListBox.h:
10892
108932008-10-13 David Hyatt <hyatt@apple.com>
10894
hyatt@apple.com59696ac2008-10-13 21:53:07 +000010895 In order to always match the :corner-present pseudo-class properly, delay initial updating of
10896 scrollbar styles until the layer has the scrollbars in its member variables.
10897
10898 Reviewed by Tim Hatcher
10899
10900 * rendering/RenderLayer.cpp:
10901 (WebCore::RenderLayer::setHasHorizontalScrollbar):
10902 (WebCore::RenderLayer::setHasVerticalScrollbar):
10903 * rendering/RenderScrollbar.cpp:
10904 (WebCore::RenderScrollbar::RenderScrollbar):
10905
weinig@apple.comfe8ca432008-10-13 21:41:40 +0000109062008-10-13 Sam Weinig <sam@webkit.org>
10907
10908 Reviewed by Dan Bernstein.
10909
10910 Fix for https://bugs.webkit.org/show_bug.cgi?id=21577
10911 5 false positive StructureID leaks
10912
10913 In WebCore, we intentionally leak the common JSGlobalData which in turn
10914 leaks 5 StructureIDs. Use the new JSGlobalData::createLeaked in order to
10915 ignore the StructureIDs leaked within.
10916
10917 * bindings/js/JSDOMWindowBase.cpp:
10918 (WebCore::JSDOMWindowBase::commonJSGlobalData):
10919
hyatt@apple.com097c92d2008-10-13 20:21:35 +0000109202008-10-13 David Hyatt <hyatt@apple.com>
10921
hyatt@apple.come2a30fd2008-10-13 21:23:21 +000010922 Add support for the :corner-present pseudoclass, which enables scrollbar pieces to change their
10923 artwork based on whether there is a scrollbar corner present.
10924
10925 Reviewed by Tim Hatcher
10926
10927 * css/CSSSelector.cpp:
10928 (WebCore::CSSSelector::extractPseudoType):
10929 * css/CSSSelector.h:
10930 (WebCore::CSSSelector::):
10931 * css/CSSStyleSelector.cpp:
10932 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
10933 * platform/ScrollView.cpp:
10934 (WebCore::ScrollView::scrollbarCornerPresent):
10935 * platform/ScrollView.h:
10936 * platform/ScrollbarClient.h:
10937 * rendering/RenderLayer.cpp:
10938 (WebCore::cornerRect):
10939 (WebCore::scrollCornerRect):
10940 (WebCore::resizerCornerRect):
10941 (WebCore::RenderLayer::scrollbarCornerPresent):
10942 (WebCore::RenderLayer::setHasHorizontalScrollbar):
10943 (WebCore::RenderLayer::setHasVerticalScrollbar):
10944 * rendering/RenderLayer.h:
10945 (WebCore::RenderLayer::horizontalScrollbar):
10946 (WebCore::RenderLayer::verticalScrollbar):
10947 * rendering/RenderListBox.h:
10948 (WebCore::RenderListBox::scrollbarCornerPresent):
10949
109502008-10-13 David Hyatt <hyatt@apple.com>
10951
hyatt@apple.com2c1832e2008-10-13 20:56:29 +000010952 Make resizers and scrollbar corners respect :window-inactive (one more bug fix and then Tim's master
10953 test case for all this can land).
10954
10955 Reviewed by Tim Hatcher
10956
10957 * css/CSSStyleSelector.cpp:
10958 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
10959 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
10960 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
10961 * rendering/RenderLayer.cpp:
10962 (WebCore::RenderLayer::paintOverflowControls):
10963 (WebCore::RenderLayer::paintScrollCorner):
10964 (WebCore::RenderLayer::paintResizer):
10965 (WebCore::RenderLayer::styleChanged):
10966 (WebCore::RenderLayer::updateScrollCornerStyle):
10967 (WebCore::RenderLayer::updateResizerStyle):
10968 * rendering/RenderLayer.h:
10969 * rendering/RenderScrollbar.cpp:
10970 (WebCore::RenderScrollbar::paint):
10971 * rendering/RenderScrollbarPart.cpp:
10972 (WebCore::RenderScrollbarPart::paintIntoRect):
10973
109742008-10-13 David Hyatt <hyatt@apple.com>
10975
hyatt@apple.com097c92d2008-10-13 20:21:35 +000010976 Rework resizer and scroll corner painting so that custom resizers and scroll corners will paint
10977 and invalidate properly as images load, etc.
10978
10979 Reviewed by Tim Hatcher
10980
10981 * rendering/RenderLayer.cpp:
10982 (WebCore::cornerRect):
10983 (WebCore::scrollCornerRect):
10984 (WebCore::resizerCornerRect):
10985 (WebCore::RenderLayer::positionOverflowControls):
10986 (WebCore::RenderLayer::paintOverflowControls):
10987 (WebCore::RenderLayer::paintScrollCorner):
10988 (WebCore::RenderLayer::paintResizer):
10989 (WebCore::RenderLayer::isPointInResizeControl):
10990 (WebCore::RenderLayer::hitTestOverflowControls):
10991 (WebCore::RenderLayer::styleChanged):
10992 * rendering/RenderLayer.h:
10993 * rendering/RenderObject.h:
10994 (WebCore::RenderObject::setRect):
10995 * rendering/RenderScrollbarPart.cpp:
10996 (WebCore::RenderScrollbarPart::styleDidChange):
10997 (WebCore::RenderScrollbarPart::imageChanged):
10998
jmalonzo@webkit.org4d9c9522008-10-13 11:44:35 +0000109992008-10-13 Marco Barisione <marco.barisione@collabora.co.uk>
11000
11001 Reviewed by Darin Adler. Landed by Jan Alonzo.
11002
11003 WebKit GTK Port needs a smartpointer to handle g_free (GFreePtr?)
11004 http://bugs.webkit.org/show_bug.cgi?id=20483
11005
11006 Start the conversion to use GOwnPtr and fix a memory leak.
11007
11008 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
11009 (WebCore::mediaPlayerPrivateErrorCallback):
11010
jhoneycutt@apple.com6bc9f352008-10-13 02:43:30 +0000110112008-10-12 Jon Honeycutt <jhoneycutt@apple.com>
11012
11013 Windows build fix.
11014
11015 * loader/TextResourceDecoder.cpp:
11016
darin@apple.com21120fc2008-10-13 02:13:47 +0000110172008-10-12 Darin Fisher <darin@chromium.org>
11018
11019 Reviewed by Darin Adler.
11020
11021 - fix https://bugs.webkit.org/show_bug.cgi?id=21229
11022 Bug 21229: NetworkStateNotifier.h lacks a #include <windows.h> for PLATFORM(WIN)
11023
11024 * platform/network/NetworkStateNotifier.h: Add the #include.
11025
darin@apple.com6de19a02008-10-13 01:37:13 +0000110262008-10-12 Darin Adler <darin@apple.com>
11027
11028 Based on work by Holger Freyther.
11029
11030 - part of https://bugs.webkit.org/show_bug.cgi?id=20953
11031 Split WidthIterator into its own source file.
11032
11033 * GNUmakefile.am: Added new source files.
11034 * WebCore.vcproj/WebCore.vcproj: Ditto.
11035 * WebCore.xcodeproj/project.pbxproj: Ditto.
11036 * WebCoreSources.bkl: Ditto.
11037
11038 * platform/graphics/Font.cpp: Use WidthIterator from its new place.
11039 * platform/graphics/WidthIterator.cpp: Added.
11040 * platform/graphics/WidthIterator.h: Added.
11041
darin@apple.com755e9c22008-10-13 01:13:29 +0000110422008-10-12 Tony Chang <tony@chromium.org>
11043
11044 Reviewed by Sam Weinig.
11045
11046 - https://bugs.webkit.org/show_bug.cgi?id=21480
11047 Remove duplicate definitions of MimeClassInfo and PluginInfo.
11048
11049 * plugins/PluginInfoStore.cpp: Added an include.
11050 * plugins/PluginInfoStore.h: Removed struct declarations.
11051
darin@apple.com365a7d82008-10-13 01:07:04 +0000110522008-10-12 Darin Adler <darin@apple.com>
11053
11054 Reviewed by Dan Bernstein.
11055
11056 - https://bugs.webkit.org/show_bug.cgi?id=21563
11057 Bug 21563: platform Gradient class should not use the CSS parser
11058
11059 * platform/graphics/Gradient.cpp: Removed the overload of addColorStop
11060 that accepts a CSS color string. That's handled in the DOM now, not here.
11061 (WebCore::Gradient::addColorStop): Use getRGBA instead of having our own
11062 copy of it here.
11063 * platform/graphics/Gradient.h: More of the same. Tweak formatting a bit.
11064
darin@apple.comad096ca2008-10-13 00:58:00 +0000110652008-10-12 Glenn Wilson <gwilson@google.com>
11066
11067 Reviewed by Darin Adler.
11068
11069 - https://bugs.webkit.org/show_bug.cgi?id=20461
11070
11071 Added feature to allow multi-line inputs into text fields.
11072 HTMLInputElement would cut the set text at the first 'system' character,
11073 so it would truncate at the first carriage return or newline.
11074 This fix modifies that behavior to truncate at any non-space system character
11075 but changes \r, \n, and \r\n to a single space.
11076
11077 Tests: editing/pasteboard/paste-multiline-text-input.html
11078
11079 * html/HTMLInputElement.cpp:
11080 (WebCore::HTMLInputElement::constrainValue):
11081
darin@apple.comdcbbe942008-10-13 00:25:00 +0000110822008-10-12 Dirk Schulze <vbs85@gmx.de>
11083
11084 Reviewed by Eric Seidel.
11085
11086 - https://bugs.webkit.org/show_bug.cgi?id=20435
11087
11088 Added exception codes to canvas gradients to match current specification.
11089
11090 Tests: fast/canvas/gradient-addColorStop-with-invalid-color.html
11091 fast/canvas/linearGradient-infinite-values.html
11092 fast/canvas/radialGradient-infinite-values.html
11093
11094 * html/CanvasGradient.cpp:
11095 (WebCore::CanvasGradient::addColorStop):
11096 * html/CanvasGradient.h:
11097 * html/CanvasGradient.idl:
11098 * html/CanvasRenderingContext2D.cpp:
11099 (WebCore::CanvasRenderingContext2D::createLinearGradient):
11100 (WebCore::CanvasRenderingContext2D::createRadialGradient):
11101 * html/CanvasRenderingContext2D.h:
11102 * html/CanvasRenderingContext2D.idl:
11103
darin@apple.come4c4b502008-10-12 23:59:09 +0000111042008-10-12 Eric Roman <eroman@chromium.org>
11105
11106 - https://bugs.webkit.org/show_bug.cgi?id=20246
11107 Implement RenderThemeWin::systemColor() to match Windows colors.
11108
11109 Reviewed by David Hyatt.
11110
11111 * rendering/RenderThemeWin.cpp:
11112 (WebCore::cssValueIdToSysColorIndex):
11113 (WebCore::RenderThemeWin::systemColor):
11114 * rendering/RenderThemeWin.h:
11115
darin@apple.com734c7252008-10-12 23:50:45 +0000111162008-10-12 Aaron Bockover <abockover@novell.com>
11117
11118 Reviewed by Alp Toker.
11119
11120 Add version parsing for Flash, and the PluginQuirkDontSetNullWindowHandleOnDestroy
11121 plugin quirk if Flash 10 or newer since at least in b218, setting a NULL window
11122 handler on destroy crashes WebKit <https://bugs.webkit.org/show_bug.cgi?id=19859>
11123
11124 * plugins/gtk/PluginPackageGtk.cpp:
11125
darin@apple.comee5d0dc2008-10-12 23:01:25 +0000111262008-10-12 Jonathon Jongsma <jonathon.jongsma@collabora.co.uk>
11127
11128 Reviewed by Oliver Hunt.
11129
11130 - https://bugs.webkit.org/show_bug.cgi?id=19331
11131 <rdar://problem/5984433>: Drag and drop of links in edit mode violates assert in MoveSelectionCommand::doApply()
11132
11133 * page/DragController.cpp:
11134 (WebCore::DragController::startDrag): When a link is dragged without any
11135 text selected (note: for this to work, the EditableLinkBehavior setting must be
11136 set to 'live' or 'default') and then dropped into an editable html document it
11137 will eventually violate an ASSERT in MoveSelectionCommand that requires that there
11138 is a selection. To prevent this, expand the selection to the enclosing anchor tag
11139 when the drag begins.
11140
darin@apple.com2ce65d52008-10-12 22:49:46 +0000111412008-10-12 Darin Adler <darin@apple.com>
11142
darin@apple.comb3de9be2008-10-12 22:53:15 +000011143 Reviewed by Mark Rowe.
11144
11145 - fix https://bugs.webkit.org/show_bug.cgi?id=21557
11146 Bug 21557: REGRESSION: generated-layer-scrollbar-crash.html is crashing
11147
11148 * rendering/RenderObject.cpp:
11149 (WebCore::RenderObject::getPseudoStyle): Keep walking up the parent chain
11150 until we hit an Element. Nowadays, Node::isElementNode() is just as efficient
11151 as RenderObject::isText(), and this guarantees that the node can be cast to
11152 Element*, which is done just below. The reason this is hit is that RenderLayer
11153 can call getPseudoStyle on a RenderView, which has the document as its
11154 element() -- and a document is neither a Text node nor an Element. A loose
11155 end is that this seems to mean you can't style the scrollbar corner or the
11156 resizer on a RenderView. Hyatt may want to look into that later.
11157
111582008-10-12 Darin Adler <darin@apple.com>
11159
darin@apple.com2ce65d52008-10-12 22:49:46 +000011160 Reviewed by Sam Weinig.
11161
11162 - https://bugs.webkit.org/show_bug.cgi?id=21556
11163 Bug 21556: non-ASCII digits are allowed in places where only ASCII should be
11164
11165 Tests: fast/dom/HTMLFontElement/size-attribute.html
11166 fast/dom/HTMLInputElement/size-attribute.html
11167 fast/dom/HTMLTableElement/cellpadding-attribute.html
11168
11169 * html/HTMLFontElement.cpp:
11170 (WebCore::parseFontSizeNumber): Use isASCIIDigit instead of
11171 Unicode::isDigit, since non-ASCII digits are not valid here.
11172 * html/HTMLFontElement.h: Tweaked formatting a bit and removed
11173 the unneeded destructor declaration.
11174 * platform/text/String.cpp:
11175 (WebCore::lengthOfCharactersAsInteger): Use isASCIIDigit instead
11176 of Unicode::isDigit, since non-ASCII digits are not valid.
11177
darin@apple.com39669162008-10-12 22:38:23 +0000111782008-10-12 Jungshik Shin <jshin@chromium.org>
11179
11180 Reviewed by Darin Adler.
11181
11182 Treat x-user-defined as windows-1252 for html files with meta charset
11183 declaration to be compatible with Indian web sites.
11184 ( https://bugs.webkit.org/show_bug.cgi?id=18270 )
11185
11186 Test: fast/encoding/charset-xuser-defined.html
11187
11188 * loader/TextResourceDecoder.cpp:
11189 (WebCore::TextResourceDecoder::setEncoding):
11190
weinig@apple.com68017df2008-10-12 20:43:15 +0000111912008-10-12 Sam Weinig <sam@webkit.org>
11192
weinig@apple.com590ccdb2008-10-12 21:32:38 +000011193 Reviewed by Dan Bernstein.
11194
11195 Remove unneeded forward declaration.
11196
11197 * platform/graphics/ImageBuffer.h:
11198
111992008-10-12 Sam Weinig <sam@webkit.org>
11200
weinig@apple.com68017df2008-10-12 20:43:15 +000011201 Reviewed by Darin Adler.
11202
11203 Fix for https://bugs.webkit.org/show_bug.cgi?id=21560
11204 Layering violation: String should not be responsible for creating Lengths
11205
11206 It was a layering violation for String to know haw to parse
11207 into Lengths, LengthArrays, and CoordsArrays.
11208
11209 * GNUmakefile.am:
11210 * WebCore.pro:
11211 * WebCore.vcproj/WebCore.vcproj:
11212 * WebCore.xcodeproj/project.pbxproj:
11213 * WebCoreSources.bkl:
11214 * html/HTMLAreaElement.cpp:
11215 (WebCore::HTMLAreaElement::parseMappedAttribute):
11216 * html/HTMLFrameSetElement.cpp:
11217 (WebCore::HTMLFrameSetElement::parseMappedAttribute):
11218 * platform/text/AtomicString.h:
11219 (WebCore::AtomicString::percentage):
11220 * platform/text/PlatformString.h:
11221 * platform/text/String.cpp:
11222 * platform/text/StringImpl.cpp:
11223 * platform/text/StringImpl.h:
11224 * rendering/Length.cpp: Added.
11225 (WebCore::parseLength):
11226 (WebCore::countCharacter):
11227 (WebCore::newCoordsArray):
11228 (WebCore::newLengthArray):
11229 * rendering/Length.h:
11230 (WebCore::LengthSize::LengthSize):
11231
darin@apple.com231607b2008-10-12 18:23:56 +0000112322008-10-12 Brad Garcia <bgarcia@google.com>
11233
11234 Reviewed by Darin Adler.
11235
11236 Interpret fractional percentage values for %MultiLength values.
11237 Fix for https://bugs.webkit.org/show_bug.cgi?id=3591
11238 Test: fast/frames/frame-length-fractional-percentage.html
11239
11240 * platform/text/StringImpl.cpp:
11241 (WebCore::parseLength):
11242
timothy@apple.combba898e2008-10-12 17:04:51 +0000112432008-10-12 Timothy Hatcher <timothy@apple.com>
11244
11245 Remember the expanded state of the rules in the Styles pane. So
11246 collapsing a rule will persist across all the elements that have
11247 that same rule. The same applies to Computed Style, so the Computed
11248 Style rule is now collapsed by default. This should help lessen the
11249 confusion on why Computed Style can't be edited (a common confusion.)
11250
11251 https://bugs.webkit.org/show_bug.cgi?id=21553
11252
11253 Reviewed by Darin Adler.
11254
11255 * inspector/front-end/PropertiesSection.js:
11256 (WebInspector.PropertiesSection): Set the _expanded property directly,
11257 instead of using the setter. Expanded is the default, so no work is needed.
11258 This prevents calling StylesSidebarPane.collapse before object initialization
11259 is complete.
11260 * inspector/front-end/StylesSidebarPane.js:
11261 (WebInspector.StylesSidebarPane.prototype.update): Check the Preferences object
11262 for the expanded state of the StylePropertiesSection. Collapse computed style
11263 by default and expand everything else.
11264 (WebInspector.StylePropertiesSection): Make a semi unique identifier to be used
11265 when remembering expanded state.
11266 (WebInspector.StylePropertiesSection.prototype.expand): Set the expanded state
11267 to true for this identifier in Preferences.styleRulesExpandedState. Don't remember
11268 the state if the dontRememberState property is true.
11269 (WebInspector.StylePropertiesSection.prototype.collapse): Set the expanded state
11270 to false for this identifier in Preferences.styleRulesExpandedState.
11271 * inspector/front-end/inspector.js:
11272 (Preferences.styleRulesExpandedState): Initialize to an empty object.
11273
jmalonzo@webkit.org1a75c1b2008-10-12 11:47:04 +0000112742008-10-12 Jan Michael Alonzo <jmalonzo@webkit.org>
11275
11276 Reviewed by Alp Toker.
11277
11278 [Gtk] Remove libWebCoreJS.la when doing make clean
11279 https://bugs.webkit.org/show_bug.cgi?id=21544
11280
11281 Remove libWebCoreJS.la when doing a clean target
11282
11283 * GNUmakefile.am: add libWebCoreJS.la to CLEANFILES
11284
alp@webkit.org85a7e4f2008-10-12 06:50:21 +0000112852008-10-11 Alp Toker <alp@nuanti.com>
11286
11287 Reviewed by Darin Adler.
11288
11289 https://bugs.webkit.org/show_bug.cgi?id=20592
11290 The focus ring is not shown while navigating on some pages
11291
11292 Fix drawFocusRing() so it doesn't depend on the current graphics
11293 state, thus matching other platforms which already work this way.
11294
11295 This patch provides two code paths: one using straight Cairo and
11296 one specialised for the GTK+ port with a more conventional appearance.
11297
11298 Also change focusRingColor() to return a null color, allowing the
11299 focus ring to pick up the style's current color if it isn't overridden
11300 with CSS.
11301
11302 * platform/graphics/cairo/GraphicsContextCairo.cpp:
11303 (WebCore::GraphicsContext::drawFocusRing):
11304 * platform/gtk/TemporaryLinkStubs.cpp:
11305 (WebCore::focusRingColor):
11306
mitz@apple.com7378cec2008-10-12 04:56:20 +0000113072008-10-11 Dan Bernstein <mitz@apple.com>
11308
11309 Rubber-stamped by Sam Weinig.
11310
11311 - change all internal callers to use Cache::evict() instead of remove()
11312
11313 * loader/Cache.cpp:
11314 (WebCore::Cache::revalidateResource):
11315 (WebCore::Cache::revalidationSucceeded):
11316 (WebCore::Cache::pruneDeadResources):
11317 (WebCore::Cache::setDisabled):
11318
hyatt@apple.com0578b132008-10-12 04:20:26 +0000113192008-10-11 David Hyatt <hyatt@apple.com>
11320
hyatt@apple.com668b6712008-10-12 04:26:47 +000011321 Make sure invalidatePart knows how to invalidate the track and scrollbar backgrounds.
11322
11323 Reviewed by Tim Hatcher
11324
11325 * platform/ScrollbarThemeComposite.cpp:
11326 (WebCore::ScrollbarThemeComposite::invalidatePart):
11327
113282008-10-11 David Hyatt <hyatt@apple.com>
11329
hyatt@apple.com0578b132008-10-12 04:20:26 +000011330 https://bugs.webkit.org/show_bug.cgi?id=21549 (regression in before/after track pieces).
11331
11332 Also fixed resizer positioning problems.
11333
11334 Reviewed by Tim Hatcher
11335
11336 * platform/ScrollbarThemeComposite.cpp:
11337 (WebCore::ScrollbarThemeComposite::splitTrack):
11338 (WebCore::ScrollbarThemeComposite::trackPosition):
11339 (WebCore::ScrollbarThemeComposite::trackLength):
11340 * platform/ScrollbarThemeComposite.h:
11341 (WebCore::ScrollbarThemeComposite::constrainTrackRectToTrackPieces):
11342 * rendering/RenderLayer.cpp:
11343 (WebCore::scrollCornerRect):
11344 (WebCore::RenderLayer::positionOverflowControls):
11345 (WebCore::RenderLayer::paintOverflowControls):
11346 (WebCore::RenderLayer::isPointInResizeControl):
11347 (WebCore::RenderLayer::hitTestOverflowControls):
11348 * rendering/RenderScrollbarTheme.cpp:
11349 (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
11350 * rendering/RenderScrollbarTheme.h:
11351
alp@webkit.org9c37e8f2008-10-12 03:33:28 +0000113522008-10-11 Alp Toker <alp@nuanti.com>
11353
11354 Reviewed by David Hyatt.
11355
11356 Implement release/retain for Widget GTK+.
11357
11358 * platform/Widget.cpp:
11359 * platform/gtk/WidgetGtk.cpp:
11360 (WebCore::Widget::~Widget):
11361 (WebCore::Widget::releasePlatformWidget):
11362 (WebCore::Widget::retainPlatformWidget):
11363
mitz@apple.comf0f7ed82008-10-11 22:53:28 +0000113642008-10-11 Dan Bernstein <mitz@apple.com>
11365
11366 Reviewed by Sam Weinig.
11367
11368 - rename WebCoreSetAlwaysUseATSU to WebCoreSetAlwaysUsesComplexTextCodePath
11369 and add a corresponding getter; add the same functions on Windows
11370
11371 * WebCore.base.exp:
11372 * platform/graphics/Font.cpp:
11373 (WebCore::Font::setCodePath):
11374 (WebCore::codePath):
11375 (WebCore::Font::canUseGlyphCache):
11376 * platform/graphics/Font.h:
11377 * platform/mac/WebCoreTextRenderer.h:
11378 * platform/mac/WebCoreTextRenderer.mm:
11379 (WebCoreSetAlwaysUsesComplexTextCodePath):
11380 (WebCoreAlwaysUsesComplexTextCodePath):
11381 * platform/win/WebCoreTextRenderer.cpp:
11382 (WebCore::WebCoreSetAlwaysUsesComplexTextCodePath):
11383 (WebCore::WebCoreAlwaysUsesComplexTextCodePath):
11384 * platform/win/WebCoreTextRenderer.h:
11385
weinig@apple.comeb4243f2008-10-11 22:10:38 +0000113862008-10-11 Sam Weinig <sam@webkit.org>
11387
11388 Reviewed by Cameron Zwarich.
11389
weinig@apple.com5f7c6162008-10-11 22:20:09 +000011390 Stop leaking the event parameter names. The protected strings were showing up
11391 in the caches window after one use. No measurable performance loss.
11392
11393 * bindings/js/JSEventListener.cpp:
11394 (WebCore::eventParameterName):
11395
113962008-10-11 Sam Weinig <sam@webkit.org>
11397
11398 Reviewed by Cameron Zwarich.
11399
weinig@apple.comeb4243f2008-10-11 22:10:38 +000011400 Remove unused function getNodeEventListener.
11401
11402 * bindings/js/JSEventListener.cpp:
11403 * bindings/js/JSEventListener.h:
11404
hyatt@apple.comf2452672008-10-11 07:50:03 +0000114052008-10-11 David Hyatt <hyatt@apple.com>
11406
11407 Add support for both positive and negative margins to tracks and track pieces.
11408
11409 Reviewed by Tim Hatcher
11410
11411 * platform/ScrollbarThemeComposite.cpp:
11412 (WebCore::ScrollbarThemeComposite::paint):
11413 (WebCore::ScrollbarThemeComposite::hitTest):
11414 (WebCore::ScrollbarThemeComposite::splitTrack):
11415 (WebCore::ScrollbarThemeComposite::trackPieceRects):
11416 (WebCore::ScrollbarThemeComposite::trackPosition):
11417 (WebCore::ScrollbarThemeComposite::trackLength):
11418 * platform/ScrollbarThemeComposite.h:
11419 (WebCore::ScrollbarThemeComposite::adjustTrackPieceRect):
11420 * rendering/RenderScrollbar.cpp:
11421 (WebCore::RenderScrollbar::trackRect):
11422 (WebCore::RenderScrollbar::trackPieceRectWithMargins):
11423 * rendering/RenderScrollbar.h:
11424 * rendering/RenderScrollbarPart.cpp:
11425 (WebCore::RenderScrollbarPart::computeScrollbarWidth):
11426 (WebCore::RenderScrollbarPart::computeScrollbarHeight):
11427 * rendering/RenderScrollbarTheme.cpp:
11428 (WebCore::RenderScrollbarTheme::adjustTrackPieceRect):
11429 * rendering/RenderScrollbarTheme.h:
11430
hyatt@apple.com729214e2008-10-11 06:30:47 +0000114312008-10-10 David Hyatt <hyatt@apple.com>
11432
11433 Drop -webkit-scrollbar- from all the scrollbar pseudo-classes, since they are scoped to
11434 the scrollbar pseudo-elements anyway.
11435
11436 Reviewed by Tim Hatcher
11437
11438 * css/CSSSelector.cpp:
11439 (WebCore::CSSSelector::extractPseudoType):
11440 * css/CSSSelector.h:
11441 (WebCore::CSSSelector::):
11442 * css/CSSStyleSelector.cpp:
11443 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
11444
mitz@apple.comb5de9462008-10-11 06:26:59 +0000114452008-10-10 Dan Bernstein <mitz@apple.com>
11446
11447 Reviewed by Sam Weinig.
11448
11449 - separate Cache::remove() into a private method and a public interface,
11450 then make Cache::pruneDeadResources() use the private method.
11451
11452 * loader/Cache.cpp:
11453 (WebCore::Cache::pruneDeadResources):
11454 (WebCore::Cache::evict):
11455 * loader/Cache.h:
11456 (WebCore::Cache::remove):
11457
hyatt@apple.comd65740c2008-10-11 05:30:39 +0000114582008-10-10 David Hyatt <hyatt@apple.com>
11459
hyatt@apple.com739b8f02008-10-11 06:12:14 +000011460 Fix a math error when splitting a vertical track. Clean up more of ScrollbarThemeComposite
11461 now that the track pieces meet under the thumb.
11462
11463 Reviewed by Tim Hatcher
11464
11465 * platform/ScrollbarThemeComposite.cpp:
11466 (WebCore::ScrollbarThemeComposite::paint):
11467 (WebCore::ScrollbarThemeComposite::splitTrack):
11468
114692008-10-10 David Hyatt <hyatt@apple.com>
11470
hyatt@apple.com4c767e22008-10-11 06:04:02 +000011471 Make the track pieces of a scrollbar extend under the thumb (each gets half the thumb).
11472
11473 Reviewed by Tim Hatcher
11474
11475 * platform/ScrollbarThemeComposite.cpp:
11476 (WebCore::ScrollbarThemeComposite::hitTest):
11477 (WebCore::ScrollbarThemeComposite::splitTrack):
11478
114792008-10-10 David Hyatt <hyatt@apple.com>
11480
hyatt@apple.come8609a22008-10-11 05:54:35 +000011481 Make sure specialized ::scrollbar rules are still triggering custom scrollbar creation.
11482
11483 Reviewed by Tim Hatcher
11484
11485 * rendering/RenderLayer.cpp:
11486 (WebCore::RenderLayer::createScrollbar):
11487 * rendering/RenderScrollbar.cpp:
11488 (WebCore::RenderScrollbar::createCustomScrollbar):
11489 (WebCore::RenderScrollbar::RenderScrollbar):
11490 (WebCore::RenderScrollbar::setParent):
11491 (WebCore::RenderScrollbar::updateScrollbarParts):
11492 (WebCore::RenderScrollbar::updateScrollbarPart):
11493 * rendering/RenderScrollbar.h:
11494 * rendering/style/RenderStyle.h:
11495 (WebCore::RenderStyle::):
11496
114972008-10-10 David Hyatt <hyatt@apple.com>
11498
hyatt@apple.comd65740c2008-10-11 05:30:39 +000011499 Make sure scrollbar background images cause proper part invalidation to occur.
11500
11501 Reviewed by Tim Hatcher
11502
11503 * rendering/RenderScrollbar.cpp:
11504 (WebCore::RenderScrollbar::setHoveredPart):
11505 (WebCore::RenderScrollbar::setPressedPart):
11506 * rendering/RenderScrollbarPart.cpp:
11507 (WebCore::RenderScrollbarPart::styleDidChange):
11508 (WebCore::RenderScrollbarPart::imageChanged):
11509 * rendering/RenderScrollbarPart.h:
11510
simon.fraser@apple.com02722ea2008-10-11 00:32:39 +0000115112008-10-10 Simon Fraser <simon.fraser@apple.com>
11512
11513 Reviewed by Darin Adler
11514
simon.fraser@apple.com72df8f02008-10-11 00:35:23 +000011515 https://bugs.webkit.org/show_bug.cgi?id=21538
11516
11517 The blendFunc() for TransformOperations should never mess with the
11518 operation lists by replacing some ops with identity, otherwise the lists
11519 no longer match and transitions break.
11520
11521 Test: transitions/matched-transform-functions.html
11522
11523 * page/animation/AnimationBase.cpp:
11524 (WebCore::blendFunc):
11525
115262008-10-10 Simon Fraser <simon.fraser@apple.com>
11527
11528 Reviewed by Darin Adler
11529
simon.fraser@apple.com02722ea2008-10-11 00:32:39 +000011530 https://bugs.webkit.org/show_bug.cgi?id=21537
11531
11532 Fix re-targetting a running transition; if the target property
11533 changes, we do need to make a new ImplicitAnimation.
11534
11535 Test: transitions/retargetted-transition.html
11536
11537 * page/animation/CompositeAnimation.cpp:
11538 (WebCore::CompositeAnimationPrivate::updateTransitions):
11539
oliver@apple.com7264bb52008-10-10 23:21:39 +0000115402008-10-10 Oliver Hunt <oliver@apple.com>
11541
11542 Reviewed by Cameron Zwarich.
11543
11544 Part of <rdar://problem/6278147> Cannot stop a slow script -- Fix assertion.
11545
11546 When JS is terminated by the user choosing to stop a slow script
11547 the exception toString method throws, yet the console logger does
11548 not perform exception checks after logging. This leaves an
11549 exception on the Machine, which in turn results in an assertion
11550 failure next time we attempt to enter JS. The solution is just to
11551 clear the exception state after attempting to record the exception.
11552
11553 * page/Console.cpp:
11554 (WebCore::Console::reportException):
11555
hyatt@apple.comfca034d2008-10-10 21:05:07 +0000115562008-10-10 David Hyatt <hyatt@apple.com>
11557
hyatt@apple.com0f129042008-10-10 22:24:15 +000011558 Make textareas work with custom CSS scrollbars and resizers. Need to access the correct renderer
11559 when looking for pseudo styles.
11560
11561 Reviewed by Tim Hatcher
11562
11563 * rendering/RenderLayer.cpp:
11564 (WebCore::RenderLayer::createScrollbar):
11565 (WebCore::RenderLayer::styleChanged):
11566
115672008-10-10 David Hyatt <hyatt@apple.com>
11568
hyatt@apple.comca798132008-10-10 22:16:24 +000011569 Add the ability to style the scroll corner and the resizer from CSS.
11570
11571 Reviewed by Tim Hatcher
11572
11573 * css/CSSSelector.cpp:
11574 (WebCore::CSSSelector::extractPseudoType):
11575 * css/CSSSelector.h:
11576 (WebCore::CSSSelector::):
11577 * css/CSSStyleSelector.cpp:
11578 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
11579 * rendering/RenderLayer.cpp:
11580 (WebCore::RenderLayer::RenderLayer):
11581 (WebCore::RenderLayer::~RenderLayer):
11582 (WebCore::RenderLayer::paintOverflowControls):
11583 (WebCore::RenderLayer::paintScrollCorner):
11584 (WebCore::RenderLayer::paintResizer):
11585 (WebCore::RenderLayer::styleChanged):
11586 * rendering/RenderLayer.h:
11587 * rendering/RenderScrollbar.cpp:
11588 (WebCore::RenderScrollbar::updateScrollbarPart):
11589 (WebCore::RenderScrollbar::paintPart):
11590 * rendering/RenderScrollbarPart.cpp:
11591 (WebCore::RenderScrollbarPart::RenderScrollbarPart):
11592 (WebCore::RenderScrollbarPart::paintIntoRect):
11593 * rendering/RenderScrollbarPart.h:
11594 * rendering/style/RenderStyle.h:
11595 (WebCore::RenderStyle::):
11596
115972008-10-10 David Hyatt <hyatt@apple.com>
11598
hyatt@apple.comfca034d2008-10-10 21:05:07 +000011599 Make CSS scrollbars respect the OS setting regarding where buttons should be placed.
11600
11601 Reviewed by Sam Weinig
11602
11603 No test case possible, since the OS setting can vary.
11604
11605 * css/CSSSelector.cpp:
11606 (WebCore::CSSSelector::extractPseudoType):
11607 * css/CSSSelector.h:
11608 (WebCore::CSSSelector::):
11609 * css/CSSStyleSelector.cpp:
11610 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
11611 * platform/Scrollbar.h:
11612 (WebCore::Scrollbar::styleChanged):
11613 * platform/mac/ScrollbarThemeMac.mm:
11614 (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
11615 (WebCore::ScrollbarThemeMac::preferencesChanged):
11616 * rendering/RenderLayer.cpp:
11617 (WebCore::RenderLayer::invalidateScrollbarRect):
11618 * rendering/RenderScrollbar.cpp:
11619 (WebCore::RenderScrollbar::styleChanged):
11620 (WebCore::RenderScrollbar::updateScrollbarPart):
11621 * rendering/RenderScrollbar.h:
11622 * rendering/RenderScrollbarTheme.h:
11623 (WebCore::RenderScrollbarTheme::buttonsPlacement):
11624
timothy@apple.comc1df5732008-10-10 20:27:51 +0000116252008-10-10 Timothy Hatcher <timothy@apple.com>
11626
11627 Fixes a regression with input search fields, where the placeholder text
11628 would not be updated when the value of the placeholder attribute changed.
11629
11630 https://bugs.webkit.org/show_bug.cgi?id=21521
11631
11632 Reviewed by Adele Peterson.
11633
11634 Test: fast/forms/search-placeholder-value-changed.html
11635
11636 * html/HTMLInputElement.cpp:
11637 (WebCore::HTMLInputElement::parseMappedAttribute): Pass true for the
11638 placeholderValueChanged parameter of updatePlaceholderVisibility.
11639 (WebCore::HTMLInputElement::updatePlaceholderVisibility): Add parameter
11640 for placeholderValueChanged that informs the method that the value changed.
11641 * html/HTMLInputElement.h: Add the placeholderValueChanged to the
11642 updatePlaceholderVisibility method. Made it default to false.
11643
hyatt@apple.comf9e710b2008-10-10 19:32:52 +0000116442008-10-10 David Hyatt <hyatt@apple.com>
11645
hyatt@apple.comc92f8c22008-10-10 20:12:14 +000011646 Allow the track part to have negative margins so that it can slightly overlap buttons. This
11647 is necessary to emulate the Aqua look in CSS.
11648
11649 Reviewed by Sam Weinig
11650
11651 * platform/ScrollbarThemeComposite.cpp:
11652 (WebCore::ScrollbarThemeComposite::paint):
11653 (WebCore::ScrollbarThemeComposite::hitTest):
11654 * rendering/RenderScrollbar.cpp:
11655 (WebCore::RenderScrollbar::setHoveredPart):
11656 (WebCore::RenderScrollbar::trackRect):
11657 * rendering/RenderScrollbar.h:
11658 * rendering/RenderScrollbarPart.cpp:
11659 (WebCore::RenderScrollbarPart::computeScrollbarWidth):
11660 (WebCore::RenderScrollbarPart::computeScrollbarHeight):
11661 * rendering/RenderScrollbarTheme.cpp:
11662 (WebCore::RenderScrollbarTheme::backButtonRect):
11663 (WebCore::RenderScrollbarTheme::forwardButtonRect):
11664 (WebCore::RenderScrollbarTheme::trackRect):
11665
116662008-10-10 David Hyatt <hyatt@apple.com>
11667
hyatt@apple.comf9e710b2008-10-10 19:32:52 +000011668 https://bugs.webkit.org/show_bug.cgi?id=21527
11669
11670 Make CSS scrollbars support :not, :hover and :active.
11671
11672 Reviewed by Adam Roben
11673
11674 Added WebCore/manual-tests/scrollbar-hover-active.html
11675
11676 * css/CSSStyleSelector.cpp:
11677 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
11678 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
11679 * platform/Scrollbar.cpp:
11680 (WebCore::Scrollbar::autoscrollPressedPart):
11681 (WebCore::Scrollbar::startTimerIfNeeded):
11682 (WebCore::Scrollbar::setHoveredPart):
11683 (WebCore::Scrollbar::setPressedPart):
11684 (WebCore::Scrollbar::mouseMoved):
11685 (WebCore::Scrollbar::mouseExited):
11686 (WebCore::Scrollbar::mouseUp):
11687 (WebCore::Scrollbar::mouseDown):
11688 * platform/Scrollbar.h:
11689 * rendering/RenderScrollbar.cpp:
11690 (WebCore::RenderScrollbar::setHoveredPart):
11691 (WebCore::RenderScrollbar::setPressedPart):
11692 (WebCore::RenderScrollbar::updateScrollbarParts):
11693 (WebCore::pseudoForScrollbarPart):
11694 (WebCore::RenderScrollbar::updateScrollbarPart):
11695 * rendering/RenderScrollbar.h:
11696
cmarrin@apple.com274a8cf2008-10-10 18:43:47 +0000116972008-10-10 Chris Marrin <cmarrin@apple.com>
11698
11699 Reviewed by Dan Bernstein.
11700
11701 Fix for https://bugs.webkit.org/show_bug.cgi?id=21025
11702 CSS transition with duration=0 and delay=0 doesn't override ongoing transition
11703
11704 Test: transitions/interrupt-zero-duration.html
11705
11706 * page/animation/CompositeAnimation.cpp:
11707 (WebCore::CompositeAnimation::updateTransitions):
11708
kevino@webkit.org0b227f82008-10-10 17:13:46 +0000117092008-10-10 Kevin Ollivier <kevino@theolliviers.com>
11710
11711 wx build fix. Add new scrollbar-related sources.
11712
11713 * WebCoreSources.bkl:
11714
hyatt@apple.com216ac3b2008-10-10 07:15:04 +0000117152008-10-10 David Hyatt <hyatt@apple.com>
11716
hyatt@apple.com676ab7f2008-10-10 16:59:20 +000011717 https://bugs.webkit.org/show_bug.cgi?id=21522
11718
11719 Support increment/decrement/start/end on scrollbars. Allows a fully functional scrollbar to be
11720 created. (Just :hover/:active left to finish it up.)
11721
11722 Reviewed by Adam Roben
11723
11724 Added scrollbars/scrollbar-buttons.html
11725
11726 * css/CSSStyleSelector.cpp:
11727 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
11728
117292008-10-10 David Hyatt <hyatt@apple.com>
11730
hyatt@apple.com08425212008-10-10 16:40:26 +000011731 Rename some pseudoclasses. Removing "-scrollbar-" from a bunch of the pseudoclasses. Renaming
11732 back/forward to decrement/increment. Adding start/end pseudoclasses.
11733
11734 Reviewed by Eric Seidel
11735
11736 * css/CSSSelector.cpp:
11737 (WebCore::CSSSelector::extractPseudoType):
11738 * css/CSSSelector.h:
11739 (WebCore::CSSSelector::):
11740 * css/CSSStyleSelector.cpp:
11741 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
11742
117432008-10-10 David Hyatt <hyatt@apple.com>
11744
hyatt@apple.com216ac3b2008-10-10 07:15:04 +000011745 Switch window-active to window-inactive, since that will work better as far as degrading in other
11746 browsers.
11747
11748 Reviewed by Tim Hatcher
11749
11750 * css/CSSSelector.cpp:
11751 (WebCore::CSSSelector::extractPseudoType):
11752 * css/CSSSelector.h:
11753 (WebCore::CSSSelector::):
11754 * css/CSSStyleSelector.cpp:
11755 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
11756
cmarrin@apple.com1386c1c2008-10-10 18:04:20 +0000117572008-10-09 Chris Marrin <cmarrin@apple.com>
11758
11759 Reviewed by Dan Bernstein.
11760
11761 https://bugs.webkit.org/show_bug.cgi?id=21310
11762
11763 Redesigned how animation events are sent in order to get rid of
11764 AnimationEventDispatcher. ImplicitAnimation and KeyframeAnimation
11765 are now ref counted. While calling the event handler, I keep a
11766 reference to this class to avoid it getting destroyed out from under me.
11767
11768 I also moved most of the functionality of CompositeAnimation to
11769 and internal class (CompositeAnimationPrivate) to reduce the exposure
11770 of the internals of the various animation classes.
11771
11772 We have several transition and animation LayoutTests which verify that
11773 this fix works as expected and continues to avoid crashes.
11774
11775 * page/animation/AnimationBase.cpp:
11776 (WebCore::AnimationBase::AnimationBase):
11777 * page/animation/AnimationBase.h:
11778 (WebCore::AnimationBase::cancelTimers):
11779 (WebCore::AnimationBase::waitingForStyleAvailable):
11780 * page/animation/CompositeAnimation.cpp:
11781 (WebCore::CompositeAnimationPrivate::CompositeAnimationPrivate):
11782 (WebCore::CompositeAnimationPrivate::suspended):
11783 (WebCore::CompositeAnimationPrivate::~CompositeAnimationPrivate):
11784 (WebCore::CompositeAnimationPrivate::updateTransitions):
11785 (WebCore::CompositeAnimationPrivate::updateKeyframeAnimations):
11786 (WebCore::CompositeAnimationPrivate::animate):
11787 (WebCore::CompositeAnimationPrivate::setAnimating):
11788 (WebCore::CompositeAnimationPrivate::animating):
11789 (WebCore::CompositeAnimationPrivate::getAnimationForProperty):
11790 (WebCore::CompositeAnimationPrivate::resetTransitions):
11791 (WebCore::CompositeAnimationPrivate::resetAnimations):
11792 (WebCore::CompositeAnimationPrivate::cleanupFinishedAnimations):
11793 (WebCore::CompositeAnimationPrivate::setAnimationStartTime):
11794 (WebCore::CompositeAnimationPrivate::setTransitionStartTime):
11795 (WebCore::CompositeAnimationPrivate::suspendAnimations):
11796 (WebCore::CompositeAnimationPrivate::resumeAnimations):
11797 (WebCore::CompositeAnimationPrivate::overrideImplicitAnimations):
11798 (WebCore::CompositeAnimationPrivate::resumeOverriddenImplicitAnimations):
11799 (WebCore::compareAnimationIndices):
11800 (WebCore::CompositeAnimationPrivate::styleAvailable):
11801 (WebCore::CompositeAnimationPrivate::isAnimatingProperty):
11802 (WebCore::CompositeAnimationPrivate::setWaitingForStyleAvailable):
11803 (WebCore::CompositeAnimation::CompositeAnimation):
11804 (WebCore::CompositeAnimation::~CompositeAnimation):
11805 (WebCore::CompositeAnimation::animate):
11806 (WebCore::CompositeAnimation::animating):
11807 (WebCore::CompositeAnimation::setWaitingForStyleAvailable):
11808 (WebCore::CompositeAnimation::resetTransitions):
11809 (WebCore::CompositeAnimation::suspendAnimations):
11810 (WebCore::CompositeAnimation::resumeAnimations):
11811 (WebCore::CompositeAnimation::suspended):
11812 (WebCore::CompositeAnimation::styleAvailable):
11813 (WebCore::CompositeAnimation::setAnimating):
11814 (WebCore::CompositeAnimation::isAnimatingProperty):
11815 (WebCore::CompositeAnimation::setAnimationStartTime):
11816 (WebCore::CompositeAnimation::setTransitionStartTime):
11817 (WebCore::CompositeAnimation::overrideImplicitAnimations):
11818 (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
11819 * page/animation/CompositeAnimation.h:
11820 * page/animation/ImplicitAnimation.cpp:
11821 (WebCore::ImplicitAnimation::sendTransitionEvent):
11822 * page/animation/ImplicitAnimation.h:
11823 (WebCore::ImplicitAnimation::create):
11824 * page/animation/KeyframeAnimation.cpp:
11825 (WebCore::KeyframeAnimation::sendAnimationEvent):
11826 * page/animation/KeyframeAnimation.h:
11827 (WebCore::KeyframeAnimation::create):
11828
hyatt@apple.come784a792008-10-10 05:56:10 +0000118292008-10-09 David Hyatt <hyatt@apple.com>
11830
hyatt@apple.come3803262008-10-10 07:04:38 +000011831 Add support for scrollbar orientation as a pseudoclass. Add support for whether or not the scrollbar
11832 is active as well.
11833
11834 Reviewed by Tim Hatcher
11835
11836 Added scrollbars/scrollbar-orientation.html
11837
11838 * css/CSSSelector.cpp:
11839 (WebCore::CSSSelector::extractPseudoType):
11840 * css/CSSSelector.h:
11841 (WebCore::CSSSelector::):
11842 * css/CSSStyleSelector.cpp:
11843 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
11844 * platform/Scrollbar.cpp:
11845 (WebCore::Scrollbar::isWindowActive):
11846 * platform/Scrollbar.h:
11847 * rendering/RenderScrollbar.cpp:
11848 (WebCore::RenderScrollbar::paint):
11849 (WebCore::RenderScrollbar::partForStyleResolve):
11850 * rendering/RenderScrollbar.h:
11851
118522008-10-09 David Hyatt <hyatt@apple.com>
11853
hyatt@apple.come784a792008-10-10 05:56:10 +000011854 Add support for pseudo classes on scrollbar pseudo elements. As an initial proof of concept only
11855 :enabled/:disabled are supported. More pseudo classes will follow quickly now that this works.
11856
11857 Reviewed by Tim Hatcher
11858
11859 Added scrollbars/disabled-scrollbar.html
11860
11861 * css/CSSStyleSelector.cpp:
11862 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
11863 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
11864 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
11865 * css/CSSStyleSelector.h:
11866 * rendering/RenderObject.cpp:
11867 (WebCore::RenderObject::getPseudoStyle):
11868 * rendering/RenderObject.h:
11869 * rendering/RenderScrollbar.cpp:
11870 (WebCore::RenderScrollbar::setEnabled):
11871 (WebCore::RenderScrollbar::scrollbarForStyleResolve):
11872 (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
11873 (WebCore::RenderScrollbar::paintPart):
11874 * rendering/RenderScrollbar.h:
11875
eric.carlson@apple.com24750582008-10-10 04:04:15 +0000118762008-10-09 Eric Carlson <eric.carlson@apple.com>
11877
11878 Media controls should not show when element is not visible
11879
11880 https://bugs.webkit.org/show_bug.cgi?id=21155
11881
11882 Reviewed by Adele Peterson.
11883
11884 * html/HTMLMediaElement.cpp:
11885 (WebCore::HTMLMediaElement::recalcStyle): New, call renderer()->updateFromElement to stay
11886 in sync with visibility changes
11887 * html/HTMLMediaElement.h:
11888 * rendering/RenderMedia.cpp:
11889 (WebCore::RenderMedia::RenderMedia): initialize m_previousVisible
11890 (WebCore::RenderMedia::updateControlVisibility): consider style()->visibility() when determining
11891 if element is visible or not. Don't animate controller visibility when change triggered by
11892 showing or hiding media element.
11893 * rendering/RenderMedia.h: declare m_previousVisible
11894
timothy@apple.com746258b2008-10-10 03:23:12 +0000118952008-10-09 Timothy Hatcher <timothy@apple.com>
11896
11897 Annotate the Objective-C DOM APIs with the JavaScriptCore/WebKitAvailability.h
11898 availability macros and version macros.
11899
11900 https://bugs.webkit.org/show_bug.cgi?id=21496
11901 rdar://problem/6259225
11902
11903 Reviewed by Sam Weinig.
11904
11905 * bindings/objc/DOMCSS.h: Add a version #if around catgory interface.
11906 * bindings/objc/DOMEventException.h: Include JavaScriptCore/WebKitAvailability.h
11907 and add an #if around the enum.
11908 * bindings/objc/DOMException.h: Ditto. Give the enum a name and remove the
11909 comment to match the other headers.
11910 * bindings/objc/DOMExtensions.h: Annotate the methods with version 3.0 or later.
11911 * bindings/objc/DOMObject.h: Add a version #if around class interface.
11912 * bindings/objc/DOMRangeException.h: Include JavaScriptCore/WebKitAvailability.h
11913 and add a version #if around the enum.
11914 * bindings/objc/DOMSVGException.h: Ditto. Use the latest version since SVG is new.
11915 * bindings/objc/DOMXPathException.h: Ditto. Use the 3.0 version.
11916 * bindings/objc/PublicDOMInterfaces.h: Annotate classes and protocols for
11917 when they where added to WebKit. Also annotate individual methods that are
11918 deprecated or where added after the class was added to WebKit.
11919 * bindings/objc/WebScriptObject.h: Include JavaScriptCore/WebKitAvailability.h
11920 since this header is included by most DOM headers. Annotate the JSObject method.
11921
11922 * bindings/scripts/CodeGeneratorObjC.pm:
11923 (ReadPublicInterfaces): Parse out the availability macro for each function/property.
11924 And parse out the availability version for the class/protocol. Default to
11925 WEBKIT_VERSION_LATEST if the class is new.
11926 (GenerateHeader): Include JavaScriptCore/WebKitAvailability.h if needed. Add the
11927 interface availability version check if the class has a required version. Create
11928 a public interface key (used to lookup in $publicInterfaces) and make a declaration
11929 suffix that includes the availability macro (if needed). Use the "available in 1.3
11930 and later but deprecated in 3.0" macro instead of "deprecated in 10.5 and later" as
11931 the default availability macro for old style methods. Tweak line breaks in the generated
11932 headers to look good and not have too many extra lines.
11933
simon.fraser@apple.coma89b8cd2008-10-10 03:15:31 +0000119342008-10-09 Simon Fraser <simon.fraser@apple.com>
11935
11936 Reviewed by Dave Hyatt
11937
11938 https://bugs.webkit.org/show_bug.cgi?id=20947
11939
11940 Refactor setStyle() methods into styleWillChange()
11941 and styleDidChange(), so most of the setStyle() overrides can
11942 be removed.
11943
11944 * rendering/RenderBR.cpp:
11945 (WebCore::RenderBR::styleDidChange):
11946 * rendering/RenderBR.h:
11947 * rendering/RenderBlock.cpp:
11948 (WebCore::RenderBlock::styleWillChange):
11949 (WebCore::RenderBlock::styleDidChange):
11950 * rendering/RenderBlock.h:
11951 * rendering/RenderBox.cpp:
11952 (WebCore::RenderBox::~RenderBox):
11953 (WebCore::RenderBox::destroy):
11954 (WebCore::RenderBox::styleWillChange):
11955 (WebCore::RenderBox::styleDidChange):
11956 * rendering/RenderBox.h:
11957 * rendering/RenderButton.cpp:
11958 (WebCore::RenderButton::styleWillChange):
11959 (WebCore::RenderButton::styleDidChange):
11960 * rendering/RenderButton.h:
11961 * rendering/RenderFieldset.cpp:
11962 (WebCore::RenderFieldset::styleDidChange):
11963 * rendering/RenderFieldset.h:
11964 * rendering/RenderFileUploadControl.cpp:
11965 (WebCore::RenderFileUploadControl::styleDidChange):
11966 * rendering/RenderFileUploadControl.h:
11967 * rendering/RenderInline.cpp:
11968 (WebCore::RenderInline::styleDidChange):
11969 * rendering/RenderInline.h:
11970 * rendering/RenderLayer.cpp:
11971 (WebCore::RenderLayer::styleChanged):
11972 * rendering/RenderLayer.h:
11973 * rendering/RenderListBox.cpp:
11974 (WebCore::RenderListBox::styleDidChange):
11975 * rendering/RenderListBox.h:
11976 * rendering/RenderListItem.cpp:
11977 (WebCore::RenderListItem::styleDidChange):
11978 * rendering/RenderListItem.h:
11979 * rendering/RenderListMarker.cpp:
11980 (WebCore::RenderListMarker::styleWillChange):
11981 (WebCore::RenderListMarker::styleDidChange):
11982 * rendering/RenderListMarker.h:
11983 * rendering/RenderMenuList.cpp:
11984 (WebCore::RenderMenuList::styleDidChange):
11985 * rendering/RenderMenuList.h:
11986 * rendering/RenderObject.cpp:
11987 (WebCore::RenderObject::setStyle):
11988 (WebCore::RenderObject::setStyleInternal):
11989 (WebCore::RenderObject::styleWillChange):
11990 (WebCore::RenderObject::styleDidChange):
11991 * rendering/RenderObject.h:
11992 * rendering/RenderReplaced.cpp:
11993 (WebCore::RenderReplaced::styleDidChange):
11994 * rendering/RenderReplaced.h:
11995 * rendering/RenderSVGGradientStop.cpp:
11996 (WebCore::RenderSVGGradientStop::styleDidChange):
11997 * rendering/RenderSVGGradientStop.h:
11998 * rendering/RenderScrollbarPart.cpp:
11999 (WebCore::RenderScrollbarPart::styleDidChange):
12000 * rendering/RenderScrollbarPart.h:
12001 * rendering/RenderSlider.cpp:
12002 (WebCore::RenderSlider::styleDidChange):
12003 * rendering/RenderSlider.h:
12004 * rendering/RenderTable.cpp:
12005 (WebCore::RenderTable::styleDidChange):
12006 * rendering/RenderTable.h:
12007 * rendering/RenderTableCell.cpp:
12008 (WebCore::RenderTableCell::styleWillChange):
12009 (WebCore::RenderTableCell::styleDidChange):
12010 * rendering/RenderTableCell.h:
12011 * rendering/RenderTableRow.cpp:
12012 (WebCore::RenderTableRow::styleWillChange):
12013 * rendering/RenderTableRow.h:
12014 * rendering/RenderText.cpp:
12015 (WebCore::RenderText::styleDidChange):
12016 * rendering/RenderText.h:
12017 * rendering/RenderTextControl.cpp:
12018 (WebCore::RenderTextControl::styleDidChange):
12019 * rendering/RenderTextControl.h:
12020 * rendering/RenderWidget.cpp:
12021 (WebCore::RenderWidget::styleDidChange):
12022 * rendering/RenderWidget.h:
12023
hyatt@apple.com2e4835d2008-10-10 02:33:16 +0000120242008-10-09 David Hyatt <hyatt@apple.com>
12025
hyatt@apple.com1d089852008-10-10 03:25:37 +000012026 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 +000012027 parent is nulled out is a good time.
12028
12029 Reviewed by Oliver Hunt
12030
12031 * rendering/RenderScrollbar.cpp:
12032 (WebCore::RenderScrollbar::~RenderScrollbar):
12033 (WebCore::RenderScrollbar::setParent):
12034 (WebCore::RenderScrollbar::updateScrollbarPart):
12035 * rendering/RenderScrollbar.h:
12036
120372008-10-09 David Hyatt <hyatt@apple.com>
12038
hyatt@apple.com2e4835d2008-10-10 02:33:16 +000012039 https://bugs.webkit.org/show_bug.cgi?id=21446
12040
12041 This patch gets CSS scrollbars up and limping. There's no way to distinguish between states or between
12042 orientation and back vs. forward on the buttons, but it's a start.
12043
12044 Reviewed by Oliver Hunt
12045
12046 Added scrollbars/basic-scrollbar.html
12047
12048 * WebCore.xcodeproj/project.pbxproj:
12049 * css/CSSSelector.cpp:
12050 (WebCore::CSSSelector::extractPseudoType):
12051 * css/CSSSelector.h:
12052 (WebCore::CSSSelector::):
12053 * css/CSSStyleSelector.cpp:
12054 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
12055 * platform/ScrollTypes.h:
12056 (WebCore::):
12057 * platform/Scrollbar.h:
12058 (WebCore::Scrollbar::styleChanged):
12059 * platform/ScrollbarThemeComposite.cpp:
12060 (WebCore::ScrollbarThemeComposite::paint):
12061 (WebCore::ScrollbarThemeComposite::splitTrack):
12062 * platform/ScrollbarThemeComposite.h:
12063 (WebCore::ScrollbarThemeComposite::paintScrollbarBackground):
12064 (WebCore::ScrollbarThemeComposite::paintTrackBackground):
12065 (WebCore::ScrollbarThemeComposite::paintTrackPiece):
12066 * platform/win/ScrollbarThemeSafari.cpp:
12067 (WebCore::ScrollbarThemeSafari::paintTrackBackground):
12068 * platform/win/ScrollbarThemeSafari.h:
12069 * platform/win/ScrollbarThemeWin.cpp:
12070 (WebCore::ScrollbarThemeWin::paintTrack):
12071 * platform/win/ScrollbarThemeWin.h:
12072 * rendering/RenderLayer.cpp:
12073 (WebCore::RenderLayer::createScrollbar):
12074 (WebCore::RenderLayer::styleChanged):
12075 * rendering/RenderScrollbar.cpp: Added.
12076 (WebCore::RenderScrollbar::createCustomScrollbar):
12077 (WebCore::RenderScrollbar::RenderScrollbar):
12078 (WebCore::RenderScrollbar::~RenderScrollbar):
12079 (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
12080 (WebCore::RenderScrollbar::updateScrollbarParts):
12081 (WebCore::RenderScrollbar::updateScrollbarPart):
12082 (WebCore::RenderScrollbar::paintPart):
12083 (WebCore::RenderScrollbar::buttonRect):
12084 (WebCore::RenderScrollbar::minimumThumbLength):
12085 * rendering/RenderScrollbar.h: Added.
12086 (WebCore::RenderScrollbar::styleChanged):
12087 (WebCore::RenderScrollbar::owningRenderer):
12088 * rendering/RenderScrollbarPart.cpp: Added.
12089 (WebCore::RenderScrollbarPart::RenderScrollbarPart):
12090 (WebCore::RenderScrollbarPart::~RenderScrollbarPart):
12091 (WebCore::RenderScrollbarPart::layout):
12092 (WebCore::RenderScrollbarPart::layoutHorizontalPart):
12093 (WebCore::RenderScrollbarPart::layoutVerticalPart):
12094 (WebCore::calcScrollbarThicknessUsing):
12095 (WebCore::RenderScrollbarPart::computeScrollbarWidth):
12096 (WebCore::RenderScrollbarPart::computeScrollbarHeight):
12097 (WebCore::RenderScrollbarPart::calcPrefWidths):
12098 (WebCore::RenderScrollbarPart::setStyle):
12099 * rendering/RenderScrollbarPart.h: Added.
12100 (WebCore::RenderScrollbarPart::renderName):
12101 (WebCore::RenderScrollbarPart::requiresLayer):
12102 * rendering/RenderScrollbarTheme.cpp: Added.
12103 (WebCore::RenderScrollbarTheme::renderScrollbarTheme):
12104 (WebCore::RenderScrollbarTheme::buttonSizesAlongTrackAxis):
12105 (WebCore::RenderScrollbarTheme::hasButtons):
12106 (WebCore::RenderScrollbarTheme::hasThumb):
12107 (WebCore::RenderScrollbarTheme::minimumThumbLength):
12108 (WebCore::RenderScrollbarTheme::backButtonRect):
12109 (WebCore::RenderScrollbarTheme::forwardButtonRect):
12110 (WebCore::RenderScrollbarTheme::trackRect):
12111 (WebCore::RenderScrollbarTheme::paintScrollCorner):
12112 (WebCore::RenderScrollbarTheme::paintScrollbarBackground):
12113 (WebCore::RenderScrollbarTheme::paintTrackBackground):
12114 (WebCore::RenderScrollbarTheme::paintTrackPiece):
12115 (WebCore::RenderScrollbarTheme::paintButton):
12116 (WebCore::RenderScrollbarTheme::paintThumb):
12117 * rendering/RenderScrollbarTheme.h: Added.
12118 (WebCore::RenderScrollbarTheme::~RenderScrollbarTheme):
12119 (WebCore::RenderScrollbarTheme::scrollbarThickness):
12120 (WebCore::RenderScrollbarTheme::buttonsPlacement):
12121 (WebCore::RenderScrollbarTheme::supportsControlTints):
12122 (WebCore::RenderScrollbarTheme::shouldCenterOnThumb):
12123 (WebCore::RenderScrollbarTheme::initialAutoscrollTimerDelay):
12124 (WebCore::RenderScrollbarTheme::autoscrollTimerDelay):
12125 (WebCore::RenderScrollbarTheme::registerScrollbar):
12126 (WebCore::RenderScrollbarTheme::unregisterScrollbar):
12127 * rendering/style/RenderStyle.h:
12128 (WebCore::RenderStyle::):
12129
eric@webkit.org3df115d2008-10-10 00:08:44 +0000121302008-10-09 Eric Seidel <eric@webkit.org>
12131
12132 Reviewed by Oliver Hunt.
eric@webkit.org25626592008-10-10 02:26:54 +000012133
12134 Fix Canvex DOOM Game
12135 Gradient clips were not getting cleared after filling the
12136 gradient, this was causing nothing to draw in Canvex
12137 https://bugs.webkit.org/show_bug.cgi?id=21498
12138
12139 Tests forthcoming.
12140
12141 * WebCore.xcodeproj/project.pbxproj:
12142 * platform/graphics/cg/GraphicsContextCG.cpp:
12143 (WebCore::GraphicsContext::fillPath):
12144 (WebCore::GraphicsContext::strokePath):
12145 (WebCore::GraphicsContext::fillRect):
12146
121472008-10-09 Eric Seidel <eric@webkit.org>
12148
12149 Reviewed by Oliver Hunt.
eric@webkit.org3df115d2008-10-10 00:08:44 +000012150
12151 Fix transformed patterns
12152 https://bugs.webkit.org/show_bug.cgi?id=21498
12153
12154 Test: fast/canvas/patternfill-repeat.html
12155
12156 * WebCore.xcodeproj/project.pbxproj:
12157 * platform/graphics/GraphicsContext.cpp:
12158 (WebCore::GraphicsContext::setStrokePattern):
12159 (WebCore::GraphicsContext::setFillPattern):
12160 (WebCore::GraphicsContext::setStrokeGradient):
12161 (WebCore::GraphicsContext::setFillGradient):
12162 * platform/graphics/GraphicsContext.h:
12163 * platform/graphics/cairo/GraphicsContextCairo.cpp:
12164 * platform/graphics/cg/GraphicsContextCG.cpp:
12165 (WebCore::applyStrokePattern):
12166 (WebCore::applyFillPattern):
12167 (WebCore::GraphicsContext::drawPath):
12168 (WebCore::GraphicsContext::fillPath):
12169 (WebCore::GraphicsContext::strokePath):
12170 (WebCore::GraphicsContext::fillRect):
12171 * platform/graphics/qt/GraphicsContextQt.cpp:
12172 * platform/graphics/wx/GraphicsContextWx.cpp:
12173
mrowe@apple.coma2e784f2008-10-12 01:38:08 +0000121742008-10-09 Kevin Ollivier <kevino@theolliviers.com>
kevino@webkit.org458871b2008-10-09 23:44:40 +000012175
12176 wx build fixes.
12177
12178 * platform/wx/WidgetWx.cpp:
12179 * plugins/wx/PluginViewWx.cpp:
12180 (WebCore::PluginView::invalidateRect):
12181 * webcore-base.bkl:
12182
cmarrin@apple.comfe914d22008-10-09 23:04:07 +0000121832008-10-09 Chris Marrin <cmarrin@apple.com>
12184
cmarrin@apple.com8a901162008-10-09 23:59:49 +000012185 Reviewed by Darin Adler.
12186
12187 Fix for https://bugs.webkit.org/show_bug.cgi?id=21217
12188 Animations assert when navigating from page
12189
12190 Changed assertions to test the right flag for the paused state
12191
12192 * page/animation/AnimationBase.cpp:
12193 (WebCore::AnimationBase::updateStateMachine):
12194
121952008-10-09 Chris Marrin <cmarrin@apple.com>
12196
cmarrin@apple.comfe914d22008-10-09 23:04:07 +000012197 Reviewed by Dan Bernstein.
12198
12199 Fixed > 180 degree rotation bug
12200 Ensure that validateTransformFunctionList() is called after updating keyframe styles
12201
12202 https://bugs.webkit.org/show_bug.cgi?id=21420
12203
12204 Test: animations/big-rotation.html
12205
12206 * page/animation/KeyframeAnimation.cpp:
12207 (WebCore::KeyframeAnimation::KeyframeAnimation):
12208
beidson@apple.comc90a4422008-10-09 20:43:24 +0000122092008-10-09 Brady Eidson <beidson@apple.com>
12210
12211 Reviewed by Anders
12212
12213 <rdar://problem/6250856> - Calling [WebView close] from within a redirection callback can cause bad things
12214
12215 The API usage to reveal this crash was so particular that a layout test is not possible with our current infrastructure.
12216
12217 * loader/FrameLoader.cpp:
12218 (WebCore::FrameLoader::changeLocation): Protect the Frame from deletion
12219 (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): stopAllLoaders() might clear the Frame's page,
12220 so perform a second null check on the page. Bail if it has been cleared.
12221
alp@webkit.org81906422008-10-09 16:21:43 +0000122222008-10-09 Alp Toker <alp@nuanti.com>
12223
12224 Build fix for recent DOM generation Makefile changes when custom
12225 CFLAGS/CXXFLAGS are passed in.
12226
12227 * GNUmakefile.am:
12228
alp@webkit.orgbedd8d82008-10-09 16:13:53 +0000122292008-10-09 Jan Michael Alonzo <jmalonzo@webkit.org>
12230
12231 Reviewed by Alp Toker.
12232
12233 https://bugs.webkit.org/show_bug.cgi?id=21390
12234 [Gtk] Linux/Gtk: GtkLauncher crashes on Acid3 (but after test 80 this time)
12235
12236 * platform/gtk/ScrollViewGtk.cpp:
12237 (WebCore::ScrollView::platformRemoveChild):
12238
darin@apple.com2d343692008-10-09 08:37:04 +0000122392008-10-09 Darin Adler <darin@apple.com>
12240
12241 - try to fix Qt build
12242
12243 * bridge/qt/qt_runtime.cpp:
12244 (JSC::Bindings::convertQVariantToValue): Pass JSGlobalData instead of ExecState to RegExp constructor.
12245
zimmermann@webkit.orgabd88452008-10-09 03:34:43 +0000122462008-10-08 Nikolas Zimmermann <zimmermann@kde.org>
12247
zimmermann@webkit.orge8c220e2008-10-09 03:54:25 +000012248 Reviewed by Oliver Hunt & Sam Weinig.
zimmermann@webkit.orgabd88452008-10-09 03:34:43 +000012249
12250 Fixes: https://bugs.webkit.org/show_bug.cgi?id=15413 (SVGElementInstance does not implement EventTarget)
12251 Fixes: https://bugs.webkit.org/show_bug.cgi?id=15430 (SVGElementInstances should rebuild themselves lazily)
12252 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20550 (SVGUseElement.setAttribute crashes Safari)
12253
12254 Rebuild SVG use element shadow tree lazily. Mark SVGElementInstance with the "needsUpdate" flag.
12255 Next time SVGUseElement::recalcStyle is invoked (ie. via Document::updateDocumentsRendering()) the
12256 use tree is rebuild.
12257
12258 Make SVGElementInstance a real EventTarget, as the SVG specification demands.
12259 When dispatching events to a shadow tree element of a use element, the associated SVGElementInstance
12260 is used as event target. The SVGElementInstance, the shadow tree element and the corresponding element
12261 share an event listener list. Every event listener change on the SVGElementInstance object is forwared
12262 to the corresponding element. Each change marks the SVGElementInstance tree dirty, and causes a reclone.
12263 Each event listener defined via attributes (onclick/onkeydown/...) is copied from the correspondingElement
12264 to the shadow tree element - through the cloneNode calls - if the use element's shadow tree gets rebuild.
12265 Each listener, dynamically created using addEventListener, gets copied to the corersponding element as well.
12266
12267 Now that the target/currentTarget properties of the Events are correct, event bubbling works as expected,
12268 see resources/use-instanceRoot-event-bubbling.js for details.
12269
12270 Tests: svg/custom/use-elementInstance-event-target.svg (reenabled)
12271 svg/custom/use-elementInstance-methods.svg (reenabled)
12272 svg/custom/use-setAttribute-crash.svg (covers bug 20550)
12273 svg/custom/use-instanceRoot-as-event-target.xhtml (covers bug 15413)
12274 svg/custom/use-instanceRoot-event-bubbling.xhtml (covers bug 15413)
12275 svg/custom/use-instanceRoot-event-listeners.xhtml (covers bug 15413 & 15430)
12276
12277 * DerivedSources.make:
12278 * GNUmakefile.am:
12279 * WebCore.pro:
12280 * WebCore.vcproj/WebCore.vcproj:
12281 * WebCore.xcodeproj/project.pbxproj:
12282 * bindings/js/JSEventListener.h:
12283 (WebCore::JSLazyEventListener::wasCreatedFromMarkup):
12284 * bindings/js/JSEventTarget.cpp:
12285 * bindings/js/JSEventTargetSVGElementInstance.cpp: Removed.
12286 * bindings/js/JSEventTargetSVGElementInstance.h: Removed.
12287 * bindings/js/JSSVGElementInstanceCustom.cpp:
12288 (WebCore::JSSVGElementInstance::addEventListener):
12289 (WebCore::JSSVGElementInstance::removeEventListener):
12290 (WebCore::JSSVGElementInstance::pushEventHandlerScope):
12291 * bindings/scripts/CodeGeneratorJS.pm:
12292 * bindings/scripts/CodeGeneratorObjC.pm:
12293 * dom/EventListener.h:
12294 (WebCore::EventListener::wasCreatedFromMarkup):
12295 * dom/EventTargetNode.cpp:
12296 (WebCore::updateSVGElementInstancesAfterEventListenerChange):
12297 (WebCore::EventTargetNode::addEventListener):
12298 (WebCore::EventTargetNode::removeEventListener):
12299 (WebCore::eventTargetAsSVGElementInstance):
12300 (WebCore::eventTargetRespectingSVGTargetRules):
12301 (WebCore::EventTargetNode::dispatchEvent):
12302 (WebCore::EventTargetNode::dispatchGenericEvent):
12303 (WebCore::EventTargetNode::removeEventListenerForType):
12304 * page/EventHandler.cpp:
12305 (WebCore::EventHandler::clear):
12306 (WebCore::instanceAssociatedWithShadowTreeElement):
12307 (WebCore::EventHandler::updateMouseEventTargetNode):
12308 * page/EventHandler.h:
12309 * svg/EventTargetSVGElementInstance.cpp: Removed.
12310 * svg/EventTargetSVGElementInstance.h: Removed.
12311 * svg/SVGElementInstance.cpp:
12312 (WebCore::SVGElementInstance::SVGElementInstance):
12313 (WebCore::SVGElementInstance::~SVGElementInstance):
12314 (WebCore::SVGElementInstance::childNodes):
12315 (WebCore::SVGElementInstance::setShadowTreeElement):
12316 (WebCore::SVGElementInstance::forgetWrapper):
12317 (WebCore::SVGElementInstance::appendChild):
12318 (WebCore::SVGElementInstance::invalidateAllInstancesOfElement):
12319 (WebCore::SVGElementInstance::setNeedsUpdate):
12320 (WebCore::SVGElementInstance::associatedFrame):
12321 (WebCore::SVGElementInstance::addEventListener):
12322 (WebCore::SVGElementInstance::removeEventListener):
12323 (WebCore::SVGElementInstance::dispatchEvent):
12324 (WebCore::SVGElementInstance::onabort):
12325 (WebCore::SVGElementInstance::setOnabort):
12326 (WebCore::SVGElementInstance::onblur):
12327 (WebCore::SVGElementInstance::setOnblur):
12328 (WebCore::SVGElementInstance::onchange):
12329 (WebCore::SVGElementInstance::setOnchange):
12330 (WebCore::SVGElementInstance::onclick):
12331 (WebCore::SVGElementInstance::setOnclick):
12332 (WebCore::SVGElementInstance::oncontextmenu):
12333 (WebCore::SVGElementInstance::setOncontextmenu):
12334 (WebCore::SVGElementInstance::ondblclick):
12335 (WebCore::SVGElementInstance::setOndblclick):
12336 (WebCore::SVGElementInstance::onerror):
12337 (WebCore::SVGElementInstance::setOnerror):
12338 (WebCore::SVGElementInstance::onfocus):
12339 (WebCore::SVGElementInstance::setOnfocus):
12340 (WebCore::SVGElementInstance::oninput):
12341 (WebCore::SVGElementInstance::setOninput):
12342 (WebCore::SVGElementInstance::onkeydown):
12343 (WebCore::SVGElementInstance::setOnkeydown):
12344 (WebCore::SVGElementInstance::onkeypress):
12345 (WebCore::SVGElementInstance::setOnkeypress):
12346 (WebCore::SVGElementInstance::onkeyup):
12347 (WebCore::SVGElementInstance::setOnkeyup):
12348 (WebCore::SVGElementInstance::onload):
12349 (WebCore::SVGElementInstance::setOnload):
12350 (WebCore::SVGElementInstance::onmousedown):
12351 (WebCore::SVGElementInstance::setOnmousedown):
12352 (WebCore::SVGElementInstance::onmousemove):
12353 (WebCore::SVGElementInstance::setOnmousemove):
12354 (WebCore::SVGElementInstance::onmouseout):
12355 (WebCore::SVGElementInstance::setOnmouseout):
12356 (WebCore::SVGElementInstance::onmouseover):
12357 (WebCore::SVGElementInstance::setOnmouseover):
12358 (WebCore::SVGElementInstance::onmouseup):
12359 (WebCore::SVGElementInstance::setOnmouseup):
12360 (WebCore::SVGElementInstance::onmousewheel):
12361 (WebCore::SVGElementInstance::setOnmousewheel):
12362 (WebCore::SVGElementInstance::onbeforecut):
12363 (WebCore::SVGElementInstance::setOnbeforecut):
12364 (WebCore::SVGElementInstance::oncut):
12365 (WebCore::SVGElementInstance::setOncut):
12366 (WebCore::SVGElementInstance::onbeforecopy):
12367 (WebCore::SVGElementInstance::setOnbeforecopy):
12368 (WebCore::SVGElementInstance::oncopy):
12369 (WebCore::SVGElementInstance::setOncopy):
12370 (WebCore::SVGElementInstance::onbeforepaste):
12371 (WebCore::SVGElementInstance::setOnbeforepaste):
12372 (WebCore::SVGElementInstance::onpaste):
12373 (WebCore::SVGElementInstance::setOnpaste):
12374 (WebCore::SVGElementInstance::ondragenter):
12375 (WebCore::SVGElementInstance::setOndragenter):
12376 (WebCore::SVGElementInstance::ondragover):
12377 (WebCore::SVGElementInstance::setOndragover):
12378 (WebCore::SVGElementInstance::ondragleave):
12379 (WebCore::SVGElementInstance::setOndragleave):
12380 (WebCore::SVGElementInstance::ondrop):
12381 (WebCore::SVGElementInstance::setOndrop):
12382 (WebCore::SVGElementInstance::ondragstart):
12383 (WebCore::SVGElementInstance::setOndragstart):
12384 (WebCore::SVGElementInstance::ondrag):
12385 (WebCore::SVGElementInstance::setOndrag):
12386 (WebCore::SVGElementInstance::ondragend):
12387 (WebCore::SVGElementInstance::setOndragend):
12388 (WebCore::SVGElementInstance::onreset):
12389 (WebCore::SVGElementInstance::setOnreset):
12390 (WebCore::SVGElementInstance::onresize):
12391 (WebCore::SVGElementInstance::setOnresize):
12392 (WebCore::SVGElementInstance::onscroll):
12393 (WebCore::SVGElementInstance::setOnscroll):
12394 (WebCore::SVGElementInstance::onsearch):
12395 (WebCore::SVGElementInstance::setOnsearch):
12396 (WebCore::SVGElementInstance::onselect):
12397 (WebCore::SVGElementInstance::setOnselect):
12398 (WebCore::SVGElementInstance::onselectstart):
12399 (WebCore::SVGElementInstance::setOnselectstart):
12400 (WebCore::SVGElementInstance::onsubmit):
12401 (WebCore::SVGElementInstance::setOnsubmit):
12402 (WebCore::SVGElementInstance::onunload):
12403 (WebCore::SVGElementInstance::setOnunload):
12404 * svg/SVGElementInstance.h:
12405 (WebCore::SVGElementInstance::needsUpdate):
12406 (WebCore::SVGElementInstance::toNode):
12407 (WebCore::SVGElementInstance::toSVGElementInstance):
12408 (WebCore::SVGElementInstance::correspondingElement):
12409 (WebCore::SVGElementInstance::correspondingUseElement):
12410 (WebCore::SVGElementInstance::shadowTreeElement):
12411 (WebCore::SVGElementInstance::parentNode):
12412 (WebCore::SVGElementInstance::previousSibling):
12413 (WebCore::SVGElementInstance::nextSibling):
12414 (WebCore::SVGElementInstance::firstChild):
12415 (WebCore::SVGElementInstance::lastChild):
12416 (WebCore::SVGElementInstance::ownerDocument):
12417 (WebCore::SVGElementInstance::hasChildNodes):
12418 (WebCore::SVGElementInstance::setFirstChild):
12419 (WebCore::SVGElementInstance::setLastChild):
12420 (WebCore::SVGElementInstance::setNextSibling):
12421 (WebCore::SVGElementInstance::setPreviousSibling):
12422 (WebCore::SVGElementInstance::refEventTarget):
12423 (WebCore::SVGElementInstance::derefEventTarget):
12424 * svg/SVGElementInstance.idl:
12425 * svg/SVGStyledElement.cpp:
12426 (WebCore::SVGStyledElement::svgAttributeChanged):
12427 (WebCore::SVGStyledElement::childrenChanged):
12428 * svg/SVGUseElement.cpp:
12429 (WebCore::SVGUseElement::svgAttributeChanged):
12430 (WebCore::shadowTreeContainsChangedNodes):
12431 (WebCore::SVGUseElement::recalcStyle):
12432 (WebCore::dumpInstanceTree):
12433 (WebCore::SVGUseElement::buildPendingResource):
12434 (WebCore::SVGUseElement::buildInstanceTree):
12435 (WebCore::SVGUseElement::transferEventListenersToShadowTree):
12436 * svg/SVGUseElement.h:
12437
weinig@apple.com25cef102008-10-09 00:14:50 +0000124382008-10-08 Sam Weinig <sam@webkit.org>
12439
12440 Reviewed by Cameron Zwarich.
12441
12442 Fix for https://bugs.webkit.org/show_bug.cgi?id=21241
12443 REGRESSION (r36977): getRGBColorValue().red returning incorrect value
12444
12445 Update JSRGBColor to use the new static function per getter approach.
12446
12447 Test: fast/dom/css-RGBValue.html
12448
12449 * bindings/js/JSRGBColor.cpp:
12450 (WebCore::):
12451 (jsRGBColorRed):
12452 (jsRGBColorGreen):
12453 (jsRGBColorBlue):
12454 * bindings/js/JSRGBColor.h:
12455
eric@webkit.org4966e4a2008-10-08 22:48:55 +0000124562008-10-08 Eric Seidel <eric@webkit.org>
12457
12458 Reviewed by Darin Adler, Nikolas Zimmermann and Dave Hyatt.
12459
12460 svgElement.className.baseValue = "foo" does not work
12461 https://bugs.webkit.org/show_bug.cgi?id=20651
12462
12463 * dom/StyledElement.cpp:
12464 (WebCore::StyledElement::classAttributeChanged):
12465 (WebCore::StyledElement::parseMappedAttribute):
12466 * dom/StyledElement.h:
12467 * svg/SVGStyledElement.cpp:
12468 (WebCore::SVGStyledElement::svgAttributeChanged):
12469
timothy@apple.com08664892008-10-08 16:41:15 +0000124702008-10-08 Anthony Ricaud <rik24d@gmail.com>
12471
12472 Make the toolbar label text-shadow not disappear when clicking on the
12473 search result count or around the search field.
12474
12475 Reviewed by Timothy Hatcher.
12476
12477 * inspector/front-end/inspector.css:
12478 (.toolbar-item:active .toolbar-label): Make this rule also require the
12479 toggleable class with the toolbar-item class.
12480
hausmann@webkit.orgd6d65cb2008-10-08 13:13:24 +0000124812008-10-08 Tor Arne Vestbø <tavestbo@trolltech.com>
12482
12483 Reviewed by Simon.
12484
12485 Updated the qrc file for the Web Inspector to contain the current set
12486 of images.
12487
12488 * inspector/front-end/WebKit.qrc:
12489
hausmann@webkit.org49650de2008-10-08 12:43:13 +0000124902008-10-08 Prasanth Ullattil <pullatti@trolltech.com>
12491
12492 Reviewed by Simon.
12493
12494 Fix the linking of applications against WebKit on Qt/Windows.
12495
12496 The prl files that qmake creates are buggy on Unix, but we they're
12497 fine on Windows and we have to have them there in order to get the
12498 dependencies correct.
12499
12500 * WebCore.pro:
12501
hausmann@webkit.org96f013f2008-10-08 12:11:44 +0000125022008-10-08 Ariya Hidayat <ariya.hidayat@trolltech.com>
12503
12504 Reviewed by Simon.
12505
12506 Speed up rectangle filling by not re-creating a QBrush all the time.
12507
12508 This triggers faster path in QPainter where the brush is reused.
12509
12510 * platform/graphics/qt/GraphicsContextQt.cpp:
12511 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
12512 (WebCore::GraphicsContext::fillRect):
12513
hausmann@webkit.orgaf2f03e2008-10-08 09:10:44 +0000125142008-10-08 Thiago Macieira <thiago.macieira@nokia.com>
12515
12516 Reviewed by Simon.
12517
12518 Fixes: Encoding of Qt URLs
12519
12520 This encoding was added by Simon and I because QUrl's
12521 tolerant parser wasn't tolerant enough. Now it is, so we don't need
12522 this anymore.
12523
12524 * platform/qt/KURLQt.cpp:
12525 (WebCore::KURL::operator QUrl):
12526
hausmann@webkit.orgc4b79f02008-10-08 09:10:32 +0000125272008-10-08 Marius Storm-Olsen <marius@trolltech.com>
12528
12529 Reviewed by Simon.
12530
12531 Fixes dependencies in qmake generated visual studio projects.
12532
12533 Only add debug lib name if we're in the debug build_pass, else the release version.
12534 The MSVC solution generator would pick up the debug javascriptcore lib as a dependency.
12535
12536 * WebCore.pro:
12537
hausmann@webkit.org40df3c32008-10-08 09:10:04 +0000125382008-10-08 Prasanth Ullattil <pullatti@trolltech.com>
12539
12540 Reviewed by Simon.
12541
12542 Fix compilation errors on VS2008 64Bit
12543
12544 * platform/text/TextStream.cpp:
12545 (WebCore::TextStream::operator<<):
12546 * platform/text/TextStream.h:
12547 * plugins/win/PluginViewWin.cpp:
12548 (WebCore::PluginView::init):
12549
alp@webkit.org76e7f9a2008-10-08 00:42:37 +0000125502008-10-07 Alp Toker <alp@nuanti.com>
12551
12552 GTK+ build fix for older automake versions (1.7). Discussed in bug
12553 #21392.
12554
12555 * GNUmakefile.am:
12556
andersca@apple.comdca58502008-10-07 23:31:34 +0000125572008-10-07 Anders Carlsson <andersca@apple.com>
12558
12559 Reviewed by Antti Koivisto.
12560
12561 <rdar://problem/6273887> Crash in ApplicationCacheGroup
12562
12563 Make sure to stop loading even before a cache update is in progress so that the
12564 manifest load will be stopped.
12565
12566 * loader/appcache/ApplicationCacheGroup.cpp:
12567 (WebCore::ApplicationCacheGroup::~ApplicationCacheGroup):
12568 (WebCore::ApplicationCacheGroup::stopLoading):
12569 (WebCore::ApplicationCacheGroup::cacheUpdateFailed):
12570
timothy@apple.com59a87132008-10-07 21:49:43 +0000125712008-10-07 Timothy Hatcher <timothy@apple.com>
12572
timothy@apple.com754474e2008-10-07 21:49:55 +000012573 Auto-generate DOMDocument's createNodeIterator: and createTreeWalker: methods.
12574
12575 https://bugs.webkit.org/show_bug.cgi?id=21433
12576
12577 Reviewed by Sam Weinig.
12578
12579 * WebCore.xcodeproj/project.pbxproj: Add ObjCNodeFilterCondition.{mm,h}.
12580 * bindings/objc/DOM.mm: Remove previous category implementations
12581 on DOMDocument for createNodeIterator: and createTreeWalker:. Also
12582 moves ObjCNodeFilterCondition to its own file.
12583 * bindings/objc/DOMTraversal.h: Remove the category methods that added
12584 createNodeIterator: and createTreeWalker: to DOMDocument. This is fine
12585 to do since DOmDocument.h is included still, and has these methods.
12586 * bindings/objc/DOMUtility.mm:
12587 (JSC::createDOMWrapper): Remove special case for JSNodeIterator and
12588 JSTreeWalker now that the ObjC binding conforms to the standard wrap.
12589 * bindings/objc/ObjCNodeFilterCondition.h: Split out from DOM.mm.
12590 (WebCore::ObjCNodeFilterCondition::create): Moved from DOM.mm.
12591 (WebCore::ObjCNodeFilterCondition::ObjCNodeFilterCondition): Ditto.
12592 * bindings/objc/ObjCNodeFilterCondition.mm: Split out from DOM.mm.
12593 (WebCore::ObjCNodeFilterCondition::acceptNode): Moved from DOM.mm.
12594 * bindings/objc/PublicDOMInterfaces.h: Add the createNodeIterator: and
12595 createTreeWalker: methods to DOMDocument.
12596 * bindings/scripts/CodeGeneratorObjC.pm:
12597 (GetObjCTypeGetter): Add a case for NodeFilter.
12598 (AddIncludesForType): Include ObjCNodeFilterCondition.h for NodeFilter.
12599 (GenerateImplementation): Remove existing NodeFilter special case that
12600 used the m_filter member variable. Add a new special getter for protocol
12601 types that aren't EventTarget, so the right class is used for NodeFilter.
12602 Add a special case for NodeFilter where it creates an ObjCNodeFilterCondition.
12603 * dom/Document.idl: Remove the #ifdef LANGUAGE_OBJECTIVE_C. Add the
12604 OldStyleObjC extended attribute to createNodeIterator and createTreeWalker.
12605 Rename the entityReferenceExpansion parameter to expandEntityReferences to
12606 match the previous ObjC API.
12607 * dom/NodeIterator.idl: Remove ObjCIvar from the filter attribute. The
12608 m_filter member variable was never used in practice, it was always nil!
12609 We can remove it and not pad the object because this can't be subclassed.
12610 * dom/TreeWalker.idl: Ditto.
12611
126122008-10-07 Timothy Hatcher <timothy@apple.com>
12613
timothy@apple.com59a87132008-10-07 21:49:43 +000012614 Auto-generate the DOMEventTarget protocol implementation for
12615 DOMNode and DOMSVGElementInstance.
12616
12617 https://bugs.webkit.org/show_bug.cgi?id=21432
12618
12619 Reviewed by Darin Adler.
12620
12621 * WebCore.xcodeproj/project.pbxproj: Add ObjCEventListener.{mm,h}.
12622 * bindings/objc/DOM.mm: Remove many unneeded header includes. Move
12623 ObjCEventListener to it's own file. Remove the manual impelmentations
12624 of the DOMEventTarget protocol for DOMNode and DOMSVGElementInstance.
12625 * bindings/objc/DOMEvents.h: Remove the categories that defined
12626 DOMEventTarget for DOMNode and DOMSVGElementInstance.
12627 * bindings/objc/ObjCEventListener.h: Split out from DOM.mm.
12628 * bindings/objc/ObjCEventListener.mm: Split out from DOM.mm.
12629 (WebCore::ObjCEventListener::find): Moved from DOM.mm.
12630 (WebCore::ObjCEventListener::wrap): Use PassRefPtr to prevent the
12631 callers from doing a manual deref.
12632 (WebCore::ObjCEventListener::ObjCEventListener): Moved from DOM.mm.
12633 (WebCore::ObjCEventListener::~ObjCEventListener): Ditto.
12634 * bindings/scripts/CodeGeneratorObjC.pm:
12635 (GetObjCTypeGetter): Add a case for EventListener and use WTF::getPtr.
12636 (AddIncludesForType): Include ObjCEventListener.h for EventListener.
12637 And include EventTargetSVGElementInstance.h for SVGElementInstance.
12638 (GenerateHeader): Remove the check for multiple parents.
12639 (GenerateImplementation): Remove the check for multiple parents. Remove
12640 the @deprecatedFunctions array since deprecated methods get generated
12641 into the main @interface now to work with protocols. Add support
12642 for the EventTargetNodeCast extended attribute. Add support for
12643 EventListener parameters.
12644 * dom/Node.idl: Define superclasses for ObjC so the implementation
12645 and interface implement the DOMEventTarget protocol. Explicitly
12646 specify Object as a superclass to use DOMEventTarget. Object will turn
12647 into DOMObject. This is needed to take the code generator down the right
12648 path of multiple super-classes as protocols. It is ObjC only for legacy
12649 reasons. The event target methods are normally on NodeEventTarget, a
12650 subclass of Node. But the ObjC API has never has this subclass and
12651 they are on DOMNode.
12652 * svg/SVGElementInstance.idl: Ditto.
12653
hyatt@apple.com5c9a9f72008-10-07 21:36:39 +0000126542008-10-07 David Hyatt <hyatt@apple.com>
12655
12656 Add new pseudo-elements and pseudo-classes that will enable scrollbars to be styled by CSS.
12657
12658 The new pseudo-elements are:
12659 scrollbar
12660 scrollbar-button
12661 scrollbar-corner
12662 scrollbar-thumb
12663 scrollbar-track
12664
12665 These elements will work with all the usual pseudo-classes (:hover, :active, :enabled, :disabled, etc.) and with
12666 the following new pseudo-classes:
12667 scrollbar-active
12668 scrollbar-back
12669 scrollbar-forward
12670 scrollbar-horizontal
12671 scrollbar-vertical
12672
12673 Reviewed by Adele
12674
12675 * css/CSSSelector.cpp:
12676 (WebCore::CSSSelector::extractPseudoType):
12677 * css/CSSSelector.h:
12678 (WebCore::CSSSelector::):
12679
timothy@apple.com920feccc2008-10-07 21:08:29 +0000126802008-10-06 Timothy Hatcher <timothy@apple.com>
12681
12682 Add support to the Resources panel for queries like "#123", "foo #123",
12683 "line: 123" and "foo line: 123". These will match the query limiting
12684 the search only to the line specified. If only a line is specified,
12685 the whole line is matched.
12686
12687 https://bugs.webkit.org/show_bug.cgi?id=21422
12688
12689 Reviewed by Darin Adler.
12690
12691 * inspector/front-end/SourceFrame.js:
12692 (WebInspector.SourceFrame.prototype.sourceRow): Don't return the last
12693 row if the index is greater than the rows collection. Let it return
12694 undefined by indexing out-of-bounds.
12695 * inspector/front-end/SourceView.js:
12696 (WebInspector.SourceView.prototype.performSearch): Add support for
12697 queries like "#123", "foo #123", "line: 123" and "foo line: 123".
12698 Also match the whole query to the whole document in case there are
12699 colors like "#333".
12700
alp@webkit.orge1244662008-10-07 18:28:43 +0000127012008-10-07 Alp Toker <alp@nuanti.com>
12702
12703 Reviewed by Mark Rowe.
12704
12705 https://bugs.webkit.org/show_bug.cgi?id=21392
12706 [GTK] Auto-generate JS DOM binding sources list
12707
12708 Remove the huge lists of generated DOM binding sources and headers in
12709 the build system. These are difficult to maintain and can be derived
12710 automatically.
12711
12712 The new strategy is to re-use the existing lists of IDL sources (which
12713 are needed for dist support anyway). This will also ease the addition
12714 of new language bindings.
12715
12716 * GNUmakefile.am:
12717
vestbo@webkit.org0bed2b22008-10-07 16:30:40 +0000127182008-10-07 Tor Arne Vestbø <tavestbo@trolltech.com>
12719
12720 Reviewed by Simon.
12721
12722 Don't attempt to paint when updating control tints
12723
12724 We don't have a valid PlatformGraphicsContext so schedule
12725 the dirty scrollbar/scrollview area for repaint instead.
12726
12727 * platform/qt/ScrollbarThemeQt.cpp:
12728 (WebCore::ScrollbarThemeQt::paint):
12729 (WebCore::ScrollbarThemeQt::paintScrollCorner):
12730
zecke@webkit.org270bdd02008-10-07 07:54:06 +0000127312008-10-07 Holger Hans Peter Freyther <zecke@selfish.org>
12732
12733 [qt] Build fix after Scrollbar.h and Widget.h changes.
12734
12735 * plugins/qt/PluginViewQt.cpp:
12736 (WebCore::PluginView::getValue):
12737 (WebCore::PluginView::init):
12738
hyatt@apple.com3cb50a82008-10-07 06:58:08 +0000127392008-10-06 David Hyatt <hyatt@apple.com>
12740
12741 Enable viewless Mac WebKit to (kinda sorta) paint basic pages (with no frames on them).
12742
12743 Reviewed by Sam Weinig
12744
12745 * WebCore.base.exp:
12746 * WebCore.xcodeproj/project.pbxproj:
12747 * loader/EmptyClients.h:
12748 (WebCore::EmptyFrameLoaderClient::hasWebView):
12749 * loader/FrameLoader.cpp:
12750 (WebCore::FrameLoader::loadWithDocumentLoader):
12751 (WebCore::FrameLoader::transitionToCommitted):
12752 * loader/FrameLoaderClient.h:
12753 * page/FocusController.cpp:
12754 (WebCore::FocusController::setActive):
12755 * page/FrameView.cpp:
12756 (WebCore::FrameView::FrameView):
12757 (WebCore::FrameView::init):
12758 (WebCore::FrameView::layoutIfNeededRecursive):
12759 * page/FrameView.h:
12760
mitz@apple.com869c6692b2008-10-07 04:42:51 +0000127612008-10-06 Dan Bernstein <mitz@apple.com>
12762
12763 - build fix
12764
12765 * bindings/objc/DOMEvents.h:
12766
eric@webkit.org1d0ef8e2008-10-07 01:11:38 +0000127672008-10-06 Mark Mentovai <mark@moxienet.com>
12768
eric@webkit.org9e0b3b52008-10-07 01:14:05 +000012769 Reviewed by Tim Hatcher.
12770
12771 Use #if ENABLE(feature) where possible, and #if ENABLE_feature where
12772 Platform.h is not available, in preference to #ifdef ENABLE_feature.
12773 #ifdef is wrong now that features are disabled by #defining
12774 ENABLE_feature to 0.
12775
12776 https://bugs.webkit.org/show_bug.cgi?id=21338
12777
12778 * bindings/objc/DOMEvents.h:
12779 * bindings/objc/PublicDOMInterfaces.h:
12780 * dom/Document.idl:
12781 * page/DOMWindow.idl:
12782 * svg/svgtags.in:
12783
127842008-10-06 Mark Mentovai <mark@moxienet.com>
12785
eric@webkit.org1d0ef8e2008-10-07 01:11:38 +000012786 Reviewed by Sam Weinig.
12787
12788 * platform/network/mac/FormDataStreamMac.mm: #import <wtf/Threading.h>
12789 to get the declaration for isMainThread().
12790
eric@webkit.org569e8092008-10-07 01:05:34 +0000127912008-10-06 Jeremy Moskovich <jeremy@chromium.org>
12792
eric@webkit.orge8585df2008-10-07 01:09:23 +000012793 Reviewed by Tim Hatcher.
12794
12795 WebCoreObjCExtras.c is actually an obj-c++ file, so change its name
12796 to reflect that.
12797
12798 * WebCore.xcodeproj/project.pbxproj:
12799 * platform/mac/WebCoreObjCExtras.c: Removed.
12800 * platform/mac/WebCoreObjCExtras.mm: Copied from WebCore/platform/mac/WebCoreObjCExtras.c.
12801
128022008-10-06 Jeremy Moskovich <jeremy@chromium.org>
12803
eric@webkit.org569e8092008-10-07 01:05:34 +000012804 Reviewed by Dan Bernstein.
12805
12806 Added C++ forward declaration for the NSURLAuthenticationChallenge class
12807 so that the m_currentMacChallenge variable doesn't cause a
12808 compilation error when ResourceHandleInternal.h is included from a C++ file.
12809 Fixes: https://bugs.webkit.org/show_bug.cgi?id=21411
12810
12811 * platform/network/ResourceHandleInternal.h:
12812
sfalken@apple.com01dbee12008-10-06 23:47:08 +0000128132008-10-06 Steve Falkenburg <sfalken@apple.com>
12814
sfalken@apple.come897fd92008-10-07 00:17:26 +000012815 Windows build fix.
12816
12817 * WebCore.vcproj/WebCore.vcproj:
12818
128192008-10-06 Steve Falkenburg <sfalken@apple.com>
12820
sfalken@apple.com01dbee12008-10-06 23:47:08 +000012821 https://bugs.webkit.org/show_bug.cgi?id=21416
12822 Add missing null checks identified by Application Verifier.
12823
12824 Reviewed by Darin Adler.
12825
12826 * platform/win/SharedTimerWin.cpp:
12827 (WebCore::clearTimer):
12828
kmccullough@apple.com45a36da2008-10-06 23:08:16 +0000128292008-10-06 Kevin McCullough <kmccullough@apple.com>
12830
kmccullough@apple.com3094b9b2008-10-06 23:15:11 +000012831 Reviewed by Tim Hatcher.
12832
12833 Removed accidentally left in debugging statement.
12834
12835 * inspector/front-end/inspector.js:
12836
128372008-10-06 Kevin McCullough <kmccullough@apple.com>
12838
kmccullough@apple.com47002eb2008-10-06 23:10:09 +000012839 Reviewed by Tim Hatcher and Oliver Hunt.
kmccullough@apple.com45a36da2008-10-06 23:08:16 +000012840
12841 https://bugs.webkit.org/show_bug.cgi?id=21412
12842 Bug 21412: Refactor user initiated profile count to be more stable
12843
12844 * inspector/InspectorController.cpp: Keep track of the user-initiated
12845 profiles here now.
12846 (WebCore::InspectorController::InspectorController):
12847 (WebCore::InspectorController::startUserInitiatedProfiling):
12848 (WebCore::InspectorController::stopUserInitiatedProfiling):
12849 * inspector/InspectorController.h:
12850 The front end will now need to check for the existence of the user-
12851 initiated profile title and use its count instead of keeping its own.
12852 * inspector/front-end/ProfilesPanel.js:
12853
mitz@apple.com1d60e5c2008-10-06 20:25:46 +0000128542008-10-06 Dan Bernstein <mitz@apple.com>
12855
12856 Reviewed by Sam Weinig.
12857
12858 - separate GDI text drawing into its own function
12859
12860 * platform/graphics/win/FontCGWin.cpp:
12861 (WebCore::drawGDIGlyphs):
12862 (WebCore::Font::drawGlyphs):
12863
sfalken@apple.com593331e2008-10-06 19:55:09 +0000128642008-10-03 Steve Falkenburg <sfalken@apple.com>
12865
12866 <rdar://problem/6249833> Fix default button appearance
12867
12868 Reviewed by Adele Peterson.
12869
12870 * rendering/RenderThemeWin.cpp:
12871 (WebCore::RenderThemeWin::supportsFocus):
12872 (WebCore::RenderThemeWin::determineClassicState):
12873 (WebCore::RenderThemeWin::determineButtonState):
12874 (WebCore::RenderThemeWin::getClassicThemeData):
12875 (WebCore::RenderThemeWin::getThemeData):
12876 (WebCore::drawControl):
12877 * rendering/RenderThemeWin.h:
12878
vestbo@webkit.orge4b1d4f2008-10-06 17:46:52 +0000128792008-10-06 Tor Arne Vestbø <tavestbo@trolltech.com>
12880
12881 Reviewed by Simon.
12882
vestbo@webkit.orgc5067902008-10-06 18:11:31 +000012883 Add native virtual keycode to PlatformKeyboardEvent
12884
12885 * platform/PlatformKeyboardEvent.h:
12886 * platform/gtk/KeyEventGtk.cpp:
12887 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
12888 * platform/mac/KeyEventMac.mm:
12889 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
12890 * platform/qt/PlatformKeyboardEventQt.cpp:
12891 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
12892 * platform/win/KeyEventWin.cpp:
12893 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
12894 * platform/wx/KeyboardEventWx.cpp:
12895 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
12896
128972008-10-06 Tor Arne Vestbø <tavestbo@trolltech.com>
12898
12899 Reviewed by Simon.
12900
vestbo@webkit.org89d13712008-10-06 17:51:39 +000012901 Enable WebCore::String <> CFStringRef conversion functions for QtWebKit/Mac
12902
12903 * platform/text/PlatformString.h:
12904 * platform/text/StringImpl.h:
12905 * platform/text/cf/StringCF.cpp:
12906 * platform/text/cf/StringImplCF.cpp:
12907
129082008-10-06 Tor Arne Vestbø <tavestbo@trolltech.com>
12909
12910 Reviewed by Simon.
12911
vestbo@webkit.orge4b1d4f2008-10-06 17:46:52 +000012912 Use bundles on QtWebKit/Mac for platform modules
12913
12914 * platform/FileSystem.h:
12915 * platform/qt/FileSystemQt.cpp:
12916 (WebCore::unloadModule):
12917
hausmann@webkit.org33791a82008-10-06 17:00:48 +0000129182008-10-06 Ariya Hidayat <ariya.hidayat@trolltech.com>
12919
12920 Reviewed by Simon.
12921
12922 Build fix for MinGW.
12923
12924 * platform/win/SystemTimeWin.cpp:
12925 * plugins/win/PluginViewWin.cpp:
12926 (WebCore::PluginView::invalidateRect):
12927
aroben@apple.com5613e512008-10-06 15:39:39 +0000129282008-10-06 Adam Roben <aroben@apple.com>
12929
aroben@apple.combf38ff12008-10-06 15:44:16 +000012930 Mimic the inspector/ directory structure in WebCore.vcproj
12931
12932 * WebCore.vcproj/WebCore.vcproj:
12933
129342008-10-06 Adam Roben <aroben@apple.com>
12935
aroben@apple.com5613e512008-10-06 15:39:39 +000012936 Windows build fix
12937
12938 * WebCore.vcproj/WebCore.vcproj: Update the Include path for all
12939 configurations to include WebCore/inspector.
12940
eric@webkit.org15e92962008-10-06 08:23:37 +0000129412008-10-04 Eric Seidel <eric@webkit.org>
12942
12943 Reviewed by Darin Adler.
12944
12945 SVG should support ascent and descent properties <font-face> instead of <font>!
12946 https://bugs.webkit.org/show_bug.cgi?id=21365
12947
12948 Tested by many many existing SVG tests.
12949
12950 * svg/SVGFontFaceElement.cpp:
12951 (WebCore::SVGFontFaceElement::ascent):
12952 (WebCore::SVGFontFaceElement::descent):
12953
mjs@apple.com64662c82008-10-06 06:44:03 +0000129542008-10-05 Darin Fisher <darin@chromium.org>
12955
12956 Reviewed by Eric Seidel.
12957
12958 REGRESSION: crash in ScriptElement::notifyFinished
12959 Fixes https://bugs.webkit.org/show_bug.cgi?id=21329
12960
12961 * dom/ScriptElement.cpp:
12962 (WebCore::ScriptElementData::notifyFinished): Revert part of r35744 to
12963 ensure that the ScriptElementData object is not destroyed prematurely.
12964
jmalonzo@webkit.org7cfb4ca2008-10-06 01:43:07 +0000129652008-10-05 Chris Lord <chris@openedhand.com>
12966
12967 Reviewed by Alp Toker. Landed by Jan Alonzo.
12968
12969 https://bugs.webkit.org/show_bug.cgi?id=20624
12970 WebKit-gtk uses deprecated GtkType/GtkObject
12971
12972 * plugins/gtk/gtk2xtbin.c:
12973 (gtk_xtbin_get_type):
12974 * plugins/gtk/gtk2xtbin.h:
12975
jmalonzo@webkit.org1285b2a2008-10-05 21:57:05 +0000129762008-10-05 Luke Kenneth Casson Leighton <lkcl@lkcl.net>
12977
12978 Reviewed by David Hyatt.
12979
12980 GTK_WINDOW_HWND not GTK_WINDOWING_HWND
12981 https://bugs.webkit.org/show_bug.cgi?id=20725
12982
12983 Updated to ToT by Jan Alonzo.
12984
12985 * plugins/gtk/PluginViewGtk.cpp:
12986 (WebCore::PluginView::getValue):
12987
jmalonzo@webkit.org2b465832008-10-05 21:50:12 +0000129882008-10-05 Jan Michael Alonzo <jmalonzo@webkit.org>
12989
12990 Reviewed by Darin Adler.
12991
12992 Invalid cast from GdkWindow to GtkWidget
12993 https://bugs.webkit.org/show_bug.cgi?id=21391
12994
12995 Fix a misplaced closing parenthesis to actually cast the widget, not the window
12996
12997 * platform/gtk/PlatformScreenGtk.cpp:
12998 (WebCore::screenDepth):
12999
abarth@webkit.orgfb074382008-10-05 19:12:30 +0000130002008-10-05 Adam Barth <abarth@webkit.org>
13001
13002 Reviewed by Darin Alder.
13003
13004 Attach the Origin header to POST requests to help defend against
13005 cross-site request forgery.
13006
13007 https://bugs.webkit.org/show_bug.cgi?id=20792
13008
13009 Collin Jackson <collinj@webkit.org> also contributed to this patch.
13010
13011 Tests: http/tests/security/originHeader/origin-header-for-data.html
13012 http/tests/security/originHeader/origin-header-for-empty.html
13013 http/tests/security/originHeader/origin-header-for-get.html
13014 http/tests/security/originHeader/origin-header-for-https.html
13015 http/tests/security/originHeader/origin-header-for-post.html
13016
13017 * bindings/js/JSDOMWindowBase.cpp:
13018 (WebCore::createWindow):
13019 * loader/FrameLoader.cpp:
13020 (WebCore::FrameLoader::createWindow):
13021 (WebCore::FrameLoader::urlSelected):
13022 (WebCore::FrameLoader::submitForm):
13023 (WebCore::FrameLoader::outgoingOrigin):
13024 (WebCore::FrameLoader::loadURL):
13025 (WebCore::FrameLoader::addExtraFieldsToRequest):
13026 (WebCore::FrameLoader::loadPostRequest):
13027 (WebCore::FrameLoader::loadResourceSynchronously):
13028 (WebCore::FrameLoader::loadItem):
13029 * loader/FrameLoader.h:
13030 * loader/SubresourceLoader.cpp:
13031 (WebCore::SubresourceLoader::create):
13032 * loader/loader.cpp:
13033 (WebCore::Loader::Host::servePendingRequests):
13034 * platform/SecurityOrigin.cpp:
13035 (WebCore::SecurityOrigin::toHTTPOrigin):
13036 * platform/SecurityOrigin.h:
13037 * platform/network/ResourceRequestBase.h:
13038 (WebCore::ResourceRequestBase::httpOrigin):
13039 (WebCore::ResourceRequestBase::setHTTPOrigin):
13040 (WebCore::ResourceRequestBase::clearHTTPOrigin):
13041 * xml/XMLHttpRequest.cpp:
13042 (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
13043 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
13044 (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
13045 (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
13046
oliver@apple.com12c92c92008-10-05 08:28:51 +0000130472008-10-04 Oliver Hunt <oliver@apple.com>
13048
13049 Reviewed by Tim Hatcher.
13050
13051 Bug 21381: Incremental parsing of html causes bogus line numbers in some cases
13052 <https://bugs.webkit.org/show_bug.cgi?id=21381>
13053
13054 If we hit a parsing boundary (end of a packet, etc) in the middle of a
13055 <script> element when we are doing an incremental parse, we exit the
13056 parser, and reenter later when more data is available. During this
13057 reentry we incorrectly reset the scriptStartLineno to the current line
13058 in the parser, which is now part way through the script element.
13059
13060 The solution is to track whether we are entering or reentering the parsing
13061 of a script element. We do this simply by 0 checking scriptStartLineno,
13062 and resetting it after we complete parsing of each script element.
13063
13064 Test: http/tests/incremental/pause-in-script-element.pl
13065
13066 * ChangeLog:
13067 * html/HTMLTokenizer.cpp:
13068 (WebCore::HTMLTokenizer::parseSpecial):
13069 (WebCore::HTMLTokenizer::scriptHandler):
13070
jmalonzo@webkit.orgcc0c46e2008-10-05 06:13:28 +0000130712008-10-04 Alp Toker <alp@nuanti.com>
13072
13073 Reviewed by David Hyatt. Landed by Jan Alonzo.
13074
13075 https://bugs.webkit.org/show_bug.cgi?id=20924
13076 [Gtk] Linux/Gtk: Recent tree revisions fail Acid2 and Acid3
13077
13078 https://bugs.webkit.org/show_bug.cgi?id=19578
13079 [CURL] problem in parseDataUrl
13080
13081 De-obfuscate parseDataUrl() and fix regressions introduced in r35954.
13082 This patch also fixes encoding support in escaped (non-Base64) data
13083 URLs. All manual data URL tests now pass in both GLib and non-GLib
13084 code paths.
13085
13086 * platform/network/curl/ResourceHandleManager.cpp:
13087 (WebCore::parseDataUrl):
13088
timothy@apple.com5c58fb12008-10-05 04:12:40 +0000130892008-10-04 Timothy Hatcher <timothy@apple.com>
13090
13091 Makes breakpoints and debugging code during page load work in the
13092 Web Inspector's debugger. Specifically, this makes the source
13093 code for loading resources show up in the Scripts panel.
13094
13095 https://bugs.webkit.org/show_bug.cgi?id=19053
13096 rdar://problem/5933408
13097
13098 Reviewed by Mark Rowe.
13099
13100 * WebCore.xcodeproj/project.pbxproj: Mark the inspector group as
13101 not using tabs and a tab width of 8.
13102 * inspector/InspectorController.cpp:
13103 (WebCore::addResourceSourceToFrame): Return a bool to report if the
13104 source was added successfully or not.
13105 (WebCore::addSourceToFrame): Ditto.
13106 * inspector/front-end/ScriptView.js:
13107 (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
13108 Return early if the InspectorController.addSourceToFrame fails.
13109 Moved the delete of the _frameNeedsSetup property after that call so
13110 if the source wasn't added it will be attempted again.
13111 * inspector/front-end/SourceView.js:
13112 (WebInspector.SourceView.prototype.detach): Move a comment.
13113 (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
13114 Don't check if the resource is finished or failed, just attempt
13115 to add the source to the frame. WebCore has the source, but the
13116 finished property hasn't been set yet. Return early if the
13117 InspectorController.addSourceToFrame fails. Moved the delete
13118 of the _frameNeedsSetup property after that call so if the source
13119 wasn't added it will be attempted again.
13120 (WebInspector.SourceView.prototype._resourceLoadingFinished):
13121 Clear the _frameNeedsSetup and _sourceFrameSetup properties so
13122 the source frame will we populated again now that the resource
13123 load has finished.
13124 * manual-tests/inspector/debugger-pause-during-load.html: Added.
13125
mrowe@apple.comb3214652008-10-05 03:04:18 +0000131262008-10-04 Mark Rowe <mrowe@apple.com>
13127
13128 Reviewed by Tim Hatcher.
13129
13130 Add a 'Check For Weak VTables' build phase to catch weak vtables as early as possible.
13131
13132 * WebCore.xcodeproj/project.pbxproj:
13133
hyatt@apple.coma4a9e252008-10-05 00:55:01 +0000131342008-10-04 David Hyatt <hyatt@apple.com>
13135
13136 https://bugs.webkit.org/show_bug.cgi?id=21373
13137
13138 Tear down scrollbars in FrameView rather than ScrollView so that the connection to the hostWindow()
13139 is still present.
13140
13141 Reviewed by Mark Rowe
13142
13143 * page/FrameView.cpp:
13144 (WebCore::FrameView::~FrameView):
13145
weinig@apple.com3b7e4b12008-10-04 22:52:19 +0000131462008-10-04 Sam Weinig <sam@webkit.org>
13147
13148 Reviewed by Dan Bernstein.
13149
13150 Avoid copying a Vector when using getSupportedKeySizes.
13151
13152 * html/HTMLKeygenElement.cpp:
13153 (WebCore::HTMLKeygenElement::HTMLKeygenElement):
13154 * platform/SSLKeyGenerator.h:
13155 * platform/gtk/TemporaryLinkStubs.cpp:
13156 (WebCore::getSupportedKeySizes):
13157 * platform/mac/SSLKeyGeneratorMac.mm:
13158 (WebCore::getSupportedKeySizes):
13159 * platform/qt/TemporaryLinkStubs.cpp:
13160 (WebCore::getSupportedKeySizes):
13161 * platform/win/TemporaryLinkStubs.cpp:
13162 (WebCore::getSupportedKeySizes):
13163 * platform/wx/TemporaryLinkStubs.cpp:
13164 (WebCore::getSupportedKeySizes):
13165
darin@apple.com28f84fc2008-10-04 21:10:00 +0000131662008-10-04 Darin Adler <darin@apple.com>
13167
13168 Reviewed by Cameron Zwarich.
13169
13170 - prepare for https://bugs.webkit.org/show_bug.cgi?id=21295
13171 Bug 21295: Replace ExecState with a call frame Register pointer
13172
13173 * bindings/js/JSQuarantinedObjectWrapper.cpp:
13174 (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom):
13175 Remove bogus "const".
13176 * bindings/js/JSQuarantinedObjectWrapper.h: Ditto.
13177
hyatt@apple.comb17c7752008-10-04 21:03:11 +0000131782008-10-04 David Hyatt <hyatt@apple.com>
13179
13180 Make PopupMenuClient obey the platform abstraction. Remove any connection to Document and RenderStyle.
13181
13182 Reviewed by Darin Adler
13183
13184 * WebCore.xcodeproj/project.pbxproj:
13185 * platform/PopupMenuClient.h:
13186 * platform/gtk/PopupMenuGtk.cpp:
13187 (WebCore::PopupMenu::show):
13188 * platform/mac/PopupMenuMac.mm:
13189 (WebCore::PopupMenu::populate):
13190 (WebCore::PopupMenu::show):
13191 * platform/qt/PopupMenuQt.cpp:
13192 (WebCore::PopupMenu::populate):
13193 * platform/win/PopupMenuWin.cpp:
13194 (WebCore::PopupMenu::calculatePositionAndSize):
13195 (WebCore::PopupMenu::paint):
13196 (WebCore::PopupWndProc):
13197 * rendering/RenderMenuList.cpp:
13198 (WebCore::RenderMenuList::itemStyle):
13199 (WebCore::RenderMenuList::menuStyle):
13200 (WebCore::RenderMenuList::hostWindow):
13201 * rendering/RenderMenuList.h:
13202 * rendering/RenderTextControl.cpp:
13203 (WebCore::RenderTextControl::itemStyle):
13204 (WebCore::RenderTextControl::menuStyle):
13205 (WebCore::RenderTextControl::hostWindow):
13206 * rendering/RenderTextControl.h:
13207
pewtermoose@webkit.orgd75c0152008-10-04 18:41:03 +0000132082008-10-04 Matt Lilek <webkit@mattlilek.com>
13209
13210 Build fix - restore Private role to headers that had it before the move.
13211
13212 * WebCore.xcodeproj/project.pbxproj:
13213
darin@apple.com2f394342008-10-04 18:37:11 +0000132142008-10-04 Darin Adler <darin@apple.com>
13215
13216 - try to fix build
13217
13218 * DerivedSources.make: Add new inspector directory to VPATH.
darin@apple.com35f35322008-10-04 18:37:22 +000013219 * GNUmakefile.am: Add new inspector directory to includes.
13220 Re-sort the IDL_BINDINGS list. Add new inspector directory
13221 to VPATH.
darin@apple.com2f394342008-10-04 18:37:11 +000013222
pewtermoose@webkit.org54177d02008-10-04 17:28:44 +0000132232008-10-04 Matt Lilek <webkit@mattlilek.com>
13224
13225 Not reviewed, attempt to fix Gtk build.
13226
13227 * GNUmakefile.am:
13228
timothy@apple.comf51a3aa2008-10-04 08:09:41 +0000132292008-10-03 Timothy Hatcher <timothy@apple.com>
13230
timothy@apple.com9c94f6b2008-10-04 08:10:54 +000013231 Move the Web Inspector files into a top-level "inspector" folder.
13232
13233 https://bugs.webkit.org/show_bug.cgi?id=21359
13234
13235 Reviewed by Dave Hyatt.
13236
13237 * GNUmakefile.am:
13238 * WebCore.pro:
13239 * WebCore.vcproj/WebCore.vcproj:
13240 * WebCore.xcodeproj/project.pbxproj:
13241 * WebCoreSources.bkl:
13242 * inspector/InspectorClient.h: Renamed from WebCore/page/InspectorClient.h.
13243 * inspector/InspectorController.cpp: Renamed from WebCore/page/InspectorController.cpp.
13244 * inspector/InspectorController.h: Renamed from WebCore/page/InspectorController.h.
13245 * inspector/JavaScriptCallFrame.cpp: Renamed from WebCore/page/JavaScriptCallFrame.cpp.
13246 * inspector/JavaScriptCallFrame.h: Renamed from WebCore/page/JavaScriptCallFrame.h.
13247 * inspector/JavaScriptCallFrame.idl: Renamed from WebCore/page/JavaScriptCallFrame.idl.
13248 * inspector/JavaScriptDebugListener.h: Renamed from WebCore/page/JavaScriptDebugListener.h.
13249 * inspector/JavaScriptDebugServer.cpp: Renamed from WebCore/page/JavaScriptDebugServer.cpp.
13250 * inspector/JavaScriptDebugServer.h: Renamed from WebCore/page/JavaScriptDebugServer.h.
13251 * inspector/JavaScriptProfile.cpp: Renamed from WebCore/page/JavaScriptProfile.cpp.
13252 * inspector/JavaScriptProfile.h: Renamed from WebCore/page/JavaScriptProfile.h.
13253 * inspector/JavaScriptProfileNode.cpp: Renamed from WebCore/page/JavaScriptProfileNode.cpp.
13254 * inspector/JavaScriptProfileNode.h: Renamed from WebCore/page/JavaScriptProfileNode.h.
13255 * inspector/front-end/Breakpoint.js: Renamed from WebCore/page/inspector/Breakpoint.js.
13256 * inspector/front-end/BreakpointsSidebarPane.js: Renamed from WebCore/page/inspector/BreakpointsSidebarPane.js.
13257 * inspector/front-end/CallStackSidebarPane.js: Renamed from WebCore/page/inspector/CallStackSidebarPane.js.
13258 * inspector/front-end/Console.js: Renamed from WebCore/page/inspector/Console.js.
13259 * inspector/front-end/DataGrid.js: Renamed from WebCore/page/inspector/DataGrid.js.
13260 * inspector/front-end/Database.js: Renamed from WebCore/page/inspector/Database.js.
13261 * inspector/front-end/DatabaseQueryView.js: Renamed from WebCore/page/inspector/DatabaseQueryView.js.
13262 * inspector/front-end/DatabaseTableView.js: Renamed from WebCore/page/inspector/DatabaseTableView.js.
13263 * inspector/front-end/DatabasesPanel.js: Renamed from WebCore/page/inspector/DatabasesPanel.js.
13264 * inspector/front-end/ElementsPanel.js: Renamed from WebCore/page/inspector/ElementsPanel.js.
13265 * inspector/front-end/ElementsTreeOutline.js: Renamed from WebCore/page/inspector/ElementsTreeOutline.js.
13266 * inspector/front-end/FontView.js: Renamed from WebCore/page/inspector/FontView.js.
13267 * inspector/front-end/ImageView.js: Renamed from WebCore/page/inspector/ImageView.js.
13268 * inspector/front-end/Images/back.png: Renamed from WebCore/page/inspector/Images/back.png.
13269 * inspector/front-end/Images/checker.png: Renamed from WebCore/page/inspector/Images/checker.png.
13270 * inspector/front-end/Images/clearConsoleButtons.png: Renamed from WebCore/page/inspector/Images/clearConsoleButtons.png.
13271 * inspector/front-end/Images/closeButtons.png: Renamed from WebCore/page/inspector/Images/closeButtons.png.
13272 * inspector/front-end/Images/consoleButtons.png: Renamed from WebCore/page/inspector/Images/consoleButtons.png.
13273 * inspector/front-end/Images/database.png: Renamed from WebCore/page/inspector/Images/database.png.
13274 * inspector/front-end/Images/databaseTable.png: Renamed from WebCore/page/inspector/Images/databaseTable.png.
13275 * inspector/front-end/Images/databasesIcon.png: Renamed from WebCore/page/inspector/Images/databasesIcon.png.
13276 * inspector/front-end/Images/debuggerContinue.png: Renamed from WebCore/page/inspector/Images/debuggerContinue.png.
13277 * inspector/front-end/Images/debuggerPause.png: Renamed from WebCore/page/inspector/Images/debuggerPause.png.
13278 * inspector/front-end/Images/debuggerStepInto.png: Renamed from WebCore/page/inspector/Images/debuggerStepInto.png.
13279 * inspector/front-end/Images/debuggerStepOut.png: Renamed from WebCore/page/inspector/Images/debuggerStepOut.png.
13280 * inspector/front-end/Images/debuggerStepOver.png: Renamed from WebCore/page/inspector/Images/debuggerStepOver.png.
13281 * inspector/front-end/Images/debuggingButtons.png: Renamed from WebCore/page/inspector/Images/debuggingButtons.png.
13282 * inspector/front-end/Images/disclosureTriangleSmallDown.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDown.png.
13283 * inspector/front-end/Images/disclosureTriangleSmallDownBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDownBlack.png.
13284 * inspector/front-end/Images/disclosureTriangleSmallDownWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDownWhite.png.
13285 * inspector/front-end/Images/disclosureTriangleSmallRight.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRight.png.
13286 * inspector/front-end/Images/disclosureTriangleSmallRightBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightBlack.png.
13287 * inspector/front-end/Images/disclosureTriangleSmallRightDown.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDown.png.
13288 * inspector/front-end/Images/disclosureTriangleSmallRightDownBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDownBlack.png.
13289 * inspector/front-end/Images/disclosureTriangleSmallRightDownWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDownWhite.png.
13290 * inspector/front-end/Images/disclosureTriangleSmallRightWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightWhite.png.
13291 * inspector/front-end/Images/dockButtons.png: Renamed from WebCore/page/inspector/Images/dockButtons.png.
13292 * inspector/front-end/Images/elementsIcon.png: Renamed from WebCore/page/inspector/Images/elementsIcon.png.
13293 * inspector/front-end/Images/errorIcon.png: Renamed from WebCore/page/inspector/Images/errorIcon.png.
13294 * inspector/front-end/Images/errorMediumIcon.png: Renamed from WebCore/page/inspector/Images/errorMediumIcon.png.
13295 * inspector/front-end/Images/excludeButtons.png: Renamed from WebCore/page/inspector/Images/excludeButtons.png.
13296 * inspector/front-end/Images/focusButtons.png: Renamed from WebCore/page/inspector/Images/focusButtons.png.
13297 * inspector/front-end/Images/forward.png: Renamed from WebCore/page/inspector/Images/forward.png.
13298 * inspector/front-end/Images/glossyHeader.png: Renamed from WebCore/page/inspector/Images/glossyHeader.png.
13299 * inspector/front-end/Images/glossyHeaderPressed.png: Renamed from WebCore/page/inspector/Images/glossyHeaderPressed.png.
13300 * inspector/front-end/Images/glossyHeaderSelected.png: Renamed from WebCore/page/inspector/Images/glossyHeaderSelected.png.
13301 * inspector/front-end/Images/glossyHeaderSelectedPressed.png: Renamed from WebCore/page/inspector/Images/glossyHeaderSelectedPressed.png.
13302 * inspector/front-end/Images/goArrow.png: Renamed from WebCore/page/inspector/Images/goArrow.png.
13303 * inspector/front-end/Images/largerResourcesButtons.png: Renamed from WebCore/page/inspector/Images/largerResourcesButtons.png.
13304 * inspector/front-end/Images/nodeSearchButtons.png: Renamed from WebCore/page/inspector/Images/nodeSearchButtons.png.
13305 * inspector/front-end/Images/paneBottomGrow.png: Renamed from WebCore/page/inspector/Images/paneBottomGrow.png.
13306 * inspector/front-end/Images/paneBottomGrowActive.png: Renamed from WebCore/page/inspector/Images/paneBottomGrowActive.png.
13307 * inspector/front-end/Images/paneGrowHandleLine.png: Renamed from WebCore/page/inspector/Images/paneGrowHandleLine.png.
13308 * inspector/front-end/Images/pauseOnExceptionButtons.png: Renamed from WebCore/page/inspector/Images/pauseOnExceptionButtons.png.
13309 * inspector/front-end/Images/percentButtons.png: Renamed from WebCore/page/inspector/Images/percentButtons.png.
13310 * inspector/front-end/Images/profileGroupIcon.png: Renamed from WebCore/page/inspector/Images/profileGroupIcon.png.
13311 * inspector/front-end/Images/profileIcon.png: Renamed from WebCore/page/inspector/Images/profileIcon.png.
13312 * inspector/front-end/Images/profileSmallIcon.png: Renamed from WebCore/page/inspector/Images/profileSmallIcon.png.
13313 * inspector/front-end/Images/profilesIcon.png: Renamed from WebCore/page/inspector/Images/profilesIcon.png.
13314 * inspector/front-end/Images/recordButtons.png: Renamed from WebCore/page/inspector/Images/recordButtons.png.
13315 * inspector/front-end/Images/reloadButtons.png: Renamed from WebCore/page/inspector/Images/reloadButtons.png.
13316 * inspector/front-end/Images/resourceCSSIcon.png: Renamed from WebCore/page/inspector/Images/resourceCSSIcon.png.
13317 * inspector/front-end/Images/resourceDocumentIcon.png: Renamed from WebCore/page/inspector/Images/resourceDocumentIcon.png.
13318 * inspector/front-end/Images/resourceDocumentIconSmall.png: Renamed from WebCore/page/inspector/Images/resourceDocumentIconSmall.png.
13319 * inspector/front-end/Images/resourceJSIcon.png: Renamed from WebCore/page/inspector/Images/resourceJSIcon.png.
13320 * inspector/front-end/Images/resourcePlainIcon.png: Renamed from WebCore/page/inspector/Images/resourcePlainIcon.png.
13321 * inspector/front-end/Images/resourcePlainIconSmall.png: Renamed from WebCore/page/inspector/Images/resourcePlainIconSmall.png.
13322 * inspector/front-end/Images/resourcesIcon.png: Renamed from WebCore/page/inspector/Images/resourcesIcon.png.
13323 * inspector/front-end/Images/resourcesSizeGraphIcon.png: Renamed from WebCore/page/inspector/Images/resourcesSizeGraphIcon.png.
13324 * inspector/front-end/Images/resourcesTimeGraphIcon.png: Renamed from WebCore/page/inspector/Images/resourcesTimeGraphIcon.png.
13325 * inspector/front-end/Images/scriptsIcon.png: Renamed from WebCore/page/inspector/Images/scriptsIcon.png.
13326 * inspector/front-end/Images/searchSmallBlue.png: Renamed from WebCore/page/inspector/Images/searchSmallBlue.png.
13327 * inspector/front-end/Images/searchSmallBrightBlue.png: Renamed from WebCore/page/inspector/Images/searchSmallBrightBlue.png.
13328 * inspector/front-end/Images/searchSmallGray.png: Renamed from WebCore/page/inspector/Images/searchSmallGray.png.
13329 * inspector/front-end/Images/searchSmallWhite.png: Renamed from WebCore/page/inspector/Images/searchSmallWhite.png.
13330 * inspector/front-end/Images/segment.png: Renamed from WebCore/page/inspector/Images/segment.png.
13331 * inspector/front-end/Images/segmentEnd.png: Renamed from WebCore/page/inspector/Images/segmentEnd.png.
13332 * inspector/front-end/Images/segmentHover.png: Renamed from WebCore/page/inspector/Images/segmentHover.png.
13333 * inspector/front-end/Images/segmentHoverEnd.png: Renamed from WebCore/page/inspector/Images/segmentHoverEnd.png.
13334 * inspector/front-end/Images/segmentSelected.png: Renamed from WebCore/page/inspector/Images/segmentSelected.png.
13335 * inspector/front-end/Images/segmentSelectedEnd.png: Renamed from WebCore/page/inspector/Images/segmentSelectedEnd.png.
13336 * inspector/front-end/Images/splitviewDimple.png: Renamed from WebCore/page/inspector/Images/splitviewDimple.png.
13337 * inspector/front-end/Images/splitviewDividerBackground.png: Renamed from WebCore/page/inspector/Images/splitviewDividerBackground.png.
13338 * inspector/front-end/Images/statusbarBackground.png: Renamed from WebCore/page/inspector/Images/statusbarBackground.png.
13339 * inspector/front-end/Images/statusbarBottomBackground.png: Renamed from WebCore/page/inspector/Images/statusbarBottomBackground.png.
13340 * inspector/front-end/Images/statusbarButtons.png: Renamed from WebCore/page/inspector/Images/statusbarButtons.png.
13341 * inspector/front-end/Images/statusbarMenuButton.png: Renamed from WebCore/page/inspector/Images/statusbarMenuButton.png.
13342 * inspector/front-end/Images/statusbarMenuButtonSelected.png: Renamed from WebCore/page/inspector/Images/statusbarMenuButtonSelected.png.
13343 * inspector/front-end/Images/statusbarResizerHorizontal.png: Renamed from WebCore/page/inspector/Images/statusbarResizerHorizontal.png.
13344 * inspector/front-end/Images/statusbarResizerVertical.png: Renamed from WebCore/page/inspector/Images/statusbarResizerVertical.png.
13345 * inspector/front-end/Images/timelinePillBlue.png: Renamed from WebCore/page/inspector/Images/timelinePillBlue.png.
13346 * inspector/front-end/Images/timelinePillGray.png: Renamed from WebCore/page/inspector/Images/timelinePillGray.png.
13347 * inspector/front-end/Images/timelinePillGreen.png: Renamed from WebCore/page/inspector/Images/timelinePillGreen.png.
13348 * inspector/front-end/Images/timelinePillOrange.png: Renamed from WebCore/page/inspector/Images/timelinePillOrange.png.
13349 * inspector/front-end/Images/timelinePillPurple.png: Renamed from WebCore/page/inspector/Images/timelinePillPurple.png.
13350 * inspector/front-end/Images/timelinePillRed.png: Renamed from WebCore/page/inspector/Images/timelinePillRed.png.
13351 * inspector/front-end/Images/timelinePillYellow.png: Renamed from WebCore/page/inspector/Images/timelinePillYellow.png.
13352 * inspector/front-end/Images/tipBalloon.png: Renamed from WebCore/page/inspector/Images/tipBalloon.png.
13353 * inspector/front-end/Images/tipBalloonBottom.png: Renamed from WebCore/page/inspector/Images/tipBalloonBottom.png.
13354 * inspector/front-end/Images/tipIcon.png: Renamed from WebCore/page/inspector/Images/tipIcon.png.
13355 * inspector/front-end/Images/tipIconPressed.png: Renamed from WebCore/page/inspector/Images/tipIconPressed.png.
13356 * inspector/front-end/Images/toolbarItemSelected.png: Renamed from WebCore/page/inspector/Images/toolbarItemSelected.png.
13357 * inspector/front-end/Images/treeDownTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeDownTriangleBlack.png.
13358 * inspector/front-end/Images/treeDownTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeDownTriangleWhite.png.
13359 * inspector/front-end/Images/treeRightTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeRightTriangleBlack.png.
13360 * inspector/front-end/Images/treeRightTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeRightTriangleWhite.png.
13361 * inspector/front-end/Images/treeUpTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeUpTriangleBlack.png.
13362 * inspector/front-end/Images/treeUpTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeUpTriangleWhite.png.
13363 * inspector/front-end/Images/userInputIcon.png: Renamed from WebCore/page/inspector/Images/userInputIcon.png.
13364 * inspector/front-end/Images/userInputPreviousIcon.png: Renamed from WebCore/page/inspector/Images/userInputPreviousIcon.png.
13365 * inspector/front-end/Images/warningIcon.png: Renamed from WebCore/page/inspector/Images/warningIcon.png.
13366 * inspector/front-end/Images/warningMediumIcon.png: Renamed from WebCore/page/inspector/Images/warningMediumIcon.png.
13367 * inspector/front-end/Images/warningsErrors.png: Renamed from WebCore/page/inspector/Images/warningsErrors.png.
13368 * inspector/front-end/MetricsSidebarPane.js: Renamed from WebCore/page/inspector/MetricsSidebarPane.js.
13369 * inspector/front-end/Object.js: Renamed from WebCore/page/inspector/Object.js.
13370 * inspector/front-end/ObjectPropertiesSection.js: Renamed from WebCore/page/inspector/ObjectPropertiesSection.js.
13371 * inspector/front-end/Panel.js: Renamed from WebCore/page/inspector/Panel.js.
13372 * inspector/front-end/Placard.js: Renamed from WebCore/page/inspector/Placard.js.
13373 * inspector/front-end/ProfileView.js: Renamed from WebCore/page/inspector/ProfileView.js.
13374 * inspector/front-end/ProfilesPanel.js: Renamed from WebCore/page/inspector/ProfilesPanel.js.
13375 * inspector/front-end/PropertiesSection.js: Renamed from WebCore/page/inspector/PropertiesSection.js.
13376 * inspector/front-end/PropertiesSidebarPane.js: Renamed from WebCore/page/inspector/PropertiesSidebarPane.js.
13377 * inspector/front-end/Resource.js: Renamed from WebCore/page/inspector/Resource.js.
13378 * inspector/front-end/ResourceCategory.js: Renamed from WebCore/page/inspector/ResourceCategory.js.
13379 * inspector/front-end/ResourceView.js: Renamed from WebCore/page/inspector/ResourceView.js.
13380 * inspector/front-end/ResourcesPanel.js: Renamed from WebCore/page/inspector/ResourcesPanel.js.
13381 * inspector/front-end/ScopeChainSidebarPane.js: Renamed from WebCore/page/inspector/ScopeChainSidebarPane.js.
13382 * inspector/front-end/Script.js: Renamed from WebCore/page/inspector/Script.js.
13383 * inspector/front-end/ScriptView.js: Renamed from WebCore/page/inspector/ScriptView.js.
13384 * inspector/front-end/ScriptsPanel.js: Renamed from WebCore/page/inspector/ScriptsPanel.js.
13385 * inspector/front-end/SidebarPane.js: Renamed from WebCore/page/inspector/SidebarPane.js.
13386 * inspector/front-end/SidebarTreeElement.js: Renamed from WebCore/page/inspector/SidebarTreeElement.js.
13387 * inspector/front-end/SourceFrame.js: Renamed from WebCore/page/inspector/SourceFrame.js.
13388 * inspector/front-end/SourceView.js: Renamed from WebCore/page/inspector/SourceView.js.
13389 * inspector/front-end/StylesSidebarPane.js: Renamed from WebCore/page/inspector/StylesSidebarPane.js.
13390 * inspector/front-end/TextPrompt.js: Renamed from WebCore/page/inspector/TextPrompt.js.
13391 * inspector/front-end/View.js: Renamed from WebCore/page/inspector/View.js.
13392 * inspector/front-end/WebKit.qrc: Renamed from WebCore/page/inspector/WebKit.qrc.
13393 * inspector/front-end/inspector.css: Renamed from WebCore/page/inspector/inspector.css.
13394 * inspector/front-end/inspector.html: Renamed from WebCore/page/inspector/inspector.html.
13395 * inspector/front-end/inspector.js: Renamed from WebCore/page/inspector/inspector.js.
13396 * inspector/front-end/treeoutline.js: Renamed from WebCore/page/inspector/treeoutline.js.
13397 * inspector/front-end/utilities.js: Renamed from WebCore/page/inspector/utilities.js.
13398
133992008-10-03 Timothy Hatcher <timothy@apple.com>
13400
timothy@apple.com11eb1a32008-10-04 08:09:52 +000013401 Adds support to the Web Inspector's Elements panel for fast tag name,
13402 class name, id and attribute name searching. The panel first tries
13403 using getElementById, getElementsByClassName and getElementsByTagName
13404 with the search query. Then does a slower search using XPath for partial
13405 matches, text and comment matches.
13406
13407 Adds support for search queries like "<div>", "<h" and "frame>".
13408 These forms limit the search to tag names, text and comment matches.
13409
13410 https://bugs.webkit.org/show_bug.cgi?id=21353
13411
13412 Reviewed by Maciej Stachowiak.
13413
13414 * page/inspector/ElementsPanel.js:
13415 (WebInspector.ElementsPanel.prototype.performSearch): Add tag syntax
13416 support. Add new search functions that try exact matches first.
13417
134182008-10-03 Timothy Hatcher <timothy@apple.com>
13419
timothy@apple.comf51a3aa2008-10-04 08:09:41 +000013420 Changes how searching works in the Web Inspector's Elements
13421 panel. The search tasks are divided into chunks that are small
13422 units of work that are performed at a time interval. This
13423 change also prevents queries that will select all elements,
13424 since that isn't useful.
13425
13426 https://bugs.webkit.org/show_bug.cgi?id=21285
13427
13428 Reviewed by Oliver Hunt.
13429
13430 * page/inspector/ElementsPanel.js:
13431 (WebInspector.ElementsPanel.prototype.searchCancled):
13432 Remove the searchResultsProperty form results since there might
13433 be an unfinished search.
13434 (WebInspector.ElementsPanel.prototype.performSearch): Divide the
13435 documents and search functions into chunks that are performed on
13436 a interval of 25ms. Prevent searches for "//*" and "*".
13437
mjs@apple.com8b246d62008-10-04 07:15:33 +0000134382008-10-03 Maciej Stachowiak <mjs@apple.com>
13439
13440 Reviewed by Cameron Zwarich.
13441
13442 - "this" object in methods called on primitives should be wrapper object
13443 https://bugs.webkit.org/show_bug.cgi?id=21362
13444
13445 Updated so toThis conversion for the split window is handled properly.
13446
13447 * bindings/scripts/CodeGeneratorJS.pm:
13448
weinig@apple.com1b4545c2008-10-04 05:16:40 +0000134492008-10-03 Sam Weinig <sam@webkit.org>
13450
13451 Reviewed by David "The Motivator" Hyatt.
13452
13453 Patch for https://bugs.webkit.org/show_bug.cgi?id=21355
13454 Move SecurityOrigin out of platform/ to page/.
13455
13456 It was a layering violation for SecurityOrigin to be in platform
13457 as it depended on FrameLoader.
13458
13459 * GNUmakefile.am:
13460 * WebCore.pro:
13461 * WebCore.vcproj/WebCore.vcproj:
13462 * WebCore.xcodeproj/project.pbxproj:
13463 * WebCoreSources.bkl:
13464 * page/SecurityOrigin.cpp: Copied from platform/SecurityOrigin.cpp.
13465 * page/SecurityOrigin.h: Copied from platform/SecurityOrigin.h.
13466 * page/SecurityOriginHash.h: Copied from platform/SecurityOriginHash.h.
13467 * platform/SecurityOrigin.cpp: Removed.
13468 * platform/SecurityOrigin.h: Removed.
13469 * platform/SecurityOriginHash.h: Removed.
13470
jmalonzo@webkit.org22d7ed12008-10-04 04:24:23 +0000134712008-10-03 Marco Barisione <marco.barisione@collabora.co.uk>
13472
13473 Reviewed by Alp Toker.
13474
13475 http://bugs.webkit.org/show_bug.cgi?id=18832
13476 [curl] file upload does not work
13477
13478 The curl_off_t integer type has a different size depending if large
13479 file support is enabled or not. There is no different public API for
13480 the two cases, so the same function accepts a different type based on
13481 a compilation option the could be different in WebKit and libcurl.
13482 To fix the bug we query libcurl at runtime for large file support and
13483 pass the right type based on that.
13484
13485 * platform/network/curl/ResourceHandleManager.cpp:
13486 (WebCore::ResourceHandleManager::setupPOST):
13487
jmalonzo@webkit.org047c3402008-10-04 04:02:30 +0000134882008-10-03 Jan Michael Alonzo <jmalonzo@webkit.org>
13489
13490 Reviewed by David Hyatt.
13491
13492 Gtk build fixes.
13493
13494 * platform/gtk/FileChooserGtk.cpp:
13495 (WebCore::FileChooser::openFileChooser):
13496 * platform/gtk/PlatformScreenGtk.cpp:
13497 (WebCore::screenDepth):
13498 (WebCore::screenDepthPerComponent):
13499 (WebCore::screenAvailableRect):
13500 * platform/gtk/PopupMenuGtk.cpp:
13501 (WebCore::PopupMenu::show):
13502 * platform/gtk/ScrollViewGtk.cpp:
13503 (WebCore::ScrollView::platformAddChild):
13504 (WebCore::ScrollView::platformRemoveChild):
13505 * platform/gtk/WidgetGtk.cpp:
13506 (WebCore::Widget::setCursor):
13507 * plugins/gtk/PluginViewGtk.cpp:
13508 (WebCore::PluginView::getValue):
13509 (WebCore::PluginView::forceRedraw):
13510 (WebCore::PluginView::init):
13511
hyatt@apple.com4d1cacb2008-10-04 01:07:31 +0000135122008-10-03 David Hyatt <hyatt@apple.com>
13513
hyatt@apple.com55377bb2008-10-04 01:09:37 +000013514 Fix Qt bustage from missing include.
13515
13516 * platform/qt/PlatformScreenQt.cpp:
13517
135182008-10-03 David Hyatt <hyatt@apple.com>
13519
hyatt@apple.comeff53462008-10-04 01:08:35 +000013520 Fix Windows scrollbar bustage in popup menus.
13521
13522 * platform/win/PopupMenuWin.cpp:
13523 (WebCore::PopupWndProc):
13524
135252008-10-03 David Hyatt <hyatt@apple.com>
13526
hyatt@apple.com4d1cacb2008-10-04 01:07:31 +000013527 Fix Windows bustage.
13528
13529 * platform/win/FileChooserWin.cpp:
13530 (WebCore::FileChooser::openFileChooser):
13531 * platform/win/PlatformScreenWin.cpp:
13532 (WebCore::monitorInfoForWidget):
13533 * platform/win/WidgetWin.cpp:
13534 * plugins/win/PluginViewWin.cpp:
13535 (WebCore::PluginView::getValue):
13536 (WebCore::PluginView::forceRedraw):
13537 (WebCore::PluginView::init):
13538
darin@apple.com3d73fee2008-10-03 21:39:16 +0000135392008-10-03 Darin Adler <darin@apple.com>
13540
darin@apple.comc1e2d312008-10-03 22:55:04 +000013541 * bindings/js/JSInspectedObjectWrapper.cpp: Try to fix a build failure
13542 seen on some machines but not others by adding an include.
13543
135442008-10-03 Darin Adler <darin@apple.com>
13545
darin@apple.com682a07e2008-10-03 22:41:30 +000013546 - Qt build fix
13547
13548 * bridge/qt/qt_runtime.cpp: Remove long-obsolete codeType and
13549 execute functions. Declarations for these relied on the CodeType
13550 enumeration, which used to be in ExecState.h; but the functions
13551 aren't needed at all.
13552 * bridge/qt/qt_runtime.h: Ditto.
13553
135542008-10-03 Darin Adler <darin@apple.com>
13555
darin@apple.com3d73fee2008-10-03 21:39:16 +000013556 Reviewed by Geoff Garen.
13557
13558 - next step of https://bugs.webkit.org/show_bug.cgi?id=21295
13559 Turn ExecState into a call frame pointer.
13560
13561 Remove m_globalObject and m_globalData from ExecState.
13562
13563 * bindings/js/JSDOMWindowBase.cpp:
13564 (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
13565 Removed an argument now that JSGlobalObject doesn't need it any more.
13566 (WebCore::JSDOMWindowBase::JSDOMWindowBase): Removed the argument from
13567 the JSDOMWindowBaseData constructor, and added the this argument to the
13568 JSGlobalObject constructor. This is because a couple key bits of
13569 initialization moved from the data constructor to the JSGlobalObject
13570 constructor.
13571 * bindings/js/JSDOMWindowBase.h: Ditto.
13572
13573 * bridge/qt/qt_runtime.cpp:
13574 (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
13575 * bridge/runtime_method.cpp:
13576 (JSC::RuntimeMethod::RuntimeMethod):
13577 Pass JSGlobalData* instead of ExecState* to the InternalFunction
13578 constructor.
13579
hyatt@apple.com0e7921d2008-10-03 21:16:13 +0000135802008-10-03 David Hyatt <hyatt@apple.com>
13581
13582 Fix Windows/Qt build bustage.
13583
13584 Reviewed by ggaren
13585
13586 * loader/EmptyClients.h:
13587 (WebCore::EmptyChromeClient::platformWindow):
13588 * page/Chrome.cpp:
13589 (WebCore::Chrome::platformWindow):
13590 * page/Chrome.h:
13591 * page/ChromeClient.h:
13592 * platform/HostWindow.h:
13593 * platform/qt/PlatformScreenQt.cpp:
13594 (WebCore::screenDepth):
13595 (WebCore::screenDepthPerComponent):
13596 (WebCore::screenIsMonochrome):
13597 (WebCore::screenRect):
13598 (WebCore::screenAvailableRect):
13599 * platform/qt/PopupMenuQt.cpp:
13600 (WebCore::PopupMenu::show):
13601 * platform/win/PopupMenuWin.cpp:
13602 (WebCore::PopupMenu::show):
13603 (WebCore::PopupMenu::calculatePositionAndSize):
13604 (WebCore::PopupWndProc):
13605
simon.fraser@apple.comed87cd22008-10-03 20:20:01 +0000136062008-10-03 Simon Fraser <simon.fraser@apple.com>
13607
13608 Reviewed by Dave Hyatt
13609
13610 Make setStyle() take a const RenderStyle, to ensure that an
13611 earlier RenderStyle::diff() remains valid.
13612
13613 * rendering/RenderBR.cpp:
13614 * rendering/RenderBR.h:
13615 * rendering/RenderBlock.cpp:
13616 * rendering/RenderBlock.h:
13617 * rendering/RenderBox.cpp:
13618 * rendering/RenderBox.h:
13619 * rendering/RenderButton.cpp:
13620 * rendering/RenderButton.h:
13621 * rendering/RenderFieldset.cpp:
13622 * rendering/RenderFieldset.h:
13623 * rendering/RenderFileUploadControl.cpp:
13624 * rendering/RenderFileUploadControl.h:
13625 * rendering/RenderInline.cpp:
13626 * rendering/RenderInline.h:
13627 * rendering/RenderListBox.cpp:
13628 * rendering/RenderListBox.h:
13629 * rendering/RenderListItem.cpp:
13630 * rendering/RenderListItem.h:
13631 * rendering/RenderListMarker.cpp:
13632 * rendering/RenderListMarker.h:
13633 * rendering/RenderMenuList.cpp:
13634 * rendering/RenderMenuList.h:
13635 * rendering/RenderObject.cpp:
13636 (WebCore::RenderObject::setStyle):
13637 * rendering/RenderObject.h:
13638 * rendering/RenderReplaced.cpp:
13639 * rendering/RenderReplaced.h:
13640 * rendering/RenderSVGBlock.cpp:
13641 (WebCore::RenderSVGBlock::setStyle):
13642 * rendering/RenderSVGBlock.h:
13643 * rendering/RenderSVGGradientStop.cpp:
13644 * rendering/RenderSVGGradientStop.h:
13645 * rendering/RenderSlider.cpp:
13646 * rendering/RenderSlider.h:
13647 * rendering/RenderTable.cpp:
13648 * rendering/RenderTable.h:
13649 * rendering/RenderTableCell.cpp:
13650 * rendering/RenderTableCell.h:
13651 * rendering/RenderTableRow.cpp:
13652 * rendering/RenderTableRow.h:
13653 * rendering/RenderText.cpp:
13654 * rendering/RenderText.h:
13655 * rendering/RenderTextControl.cpp:
13656 * rendering/RenderTextControl.h:
13657 * rendering/RenderWidget.cpp:
13658 * rendering/RenderWidget.h:
13659 * rendering/style/RenderStyle.h:
13660 (WebCore::RenderStyle::isDisplayReplacedType):
13661 (WebCore::RenderStyle::isDisplayInlineType):
13662
hyatt@apple.com1ae34462008-10-03 19:17:35 +0000136632008-10-03 David Hyatt <hyatt@apple.com>
13664
hyatt@apple.com938a55f2008-10-03 20:10:32 +000013665 Preparation for enabling scrollbars to hit test properly inside transforms. Clean up the scrollbar
13666 event handlers to no longer be virtual. Don't pass a mouse event where none is needed. Add a new
13667 method on Scrollbars called transformEvent that will apply all of the transforms to make a new event
13668 that will work properly for hit testing. This patch just stubs out that method to return the same
13669 event untransformed.
13670
13671 Reviewed by Darin Adler
13672
13673 * page/EventHandler.cpp:
13674 (WebCore::EventHandler::handleMouseDoubleClickEvent):
13675 (WebCore::EventHandler::handleMouseMoveEvent):
13676 (WebCore::EventHandler::handleMouseReleaseEvent):
13677 (WebCore::EventHandler::passMousePressEventToScrollbar):
13678 * page/gtk/EventHandlerGtk.cpp:
13679 * page/mac/EventHandlerMac.mm:
13680 * page/qt/EventHandlerQt.cpp:
13681 * page/win/EventHandlerWin.cpp:
13682 * page/wx/EventHandlerWx.cpp:
13683 * platform/Scrollbar.cpp:
13684 (WebCore::Scrollbar::mouseMoved):
13685 (WebCore::Scrollbar::mouseExited):
13686 (WebCore::Scrollbar::mouseUp):
13687 (WebCore::Scrollbar::mouseDown):
13688 (WebCore::Scrollbar::transformEvent):
13689 * platform/Scrollbar.h:
13690
136912008-10-03 David Hyatt <hyatt@apple.com>
13692
hyatt@apple.com1ae34462008-10-03 19:17:35 +000013693 https://bugs.webkit.org/show_bug.cgi?id=21340
13694
13695 Remove "containingWindow()/setContainingWindow()" from Widget. HostWindow covers this now.
13696
13697 Reviewed by Dan Bernstein & Darin Adler
13698
13699 * platform/ScrollView.cpp:
13700 (WebCore::ScrollView::addChild):
13701 * platform/Widget.cpp:
13702 (WebCore::Widget::init):
13703 * platform/Widget.h:
13704 * platform/mac/WidgetMac.mm:
13705 * platform/win/PopupMenuWin.cpp:
13706 (WebCore::PopupMenu::show):
13707
adele@apple.come31aa912008-10-03 19:06:28 +0000137082008-10-03 Adele Peterson <adele@apple.com>
13709
13710 Reviewed by Sam Weinig.
13711
13712 * css/CSSFontSelector.cpp: (WebCore::fontDataForGenericFamily):
13713 Return early if settings is nil.
13714
rwlbuis@webkit.orgeba93012008-10-03 19:00:22 +0000137152008-10-03 Rob Buis <buis@kde.org>
13716
13717 Reviewed by Darin.
13718
13719 https://bugs.webkit.org/show_bug.cgi?id=20134
13720 REGRESSION (2.0.4-3.0.4): No default value set for <input type=range> with an even difference of (max - min)
13721
13722 Make sure the input element gets the right default value when no value is set.
13723
13724 Test: fast/forms/range-default-value.html
13725
13726 * rendering/RenderSlider.cpp:
13727 (WebCore::RenderSlider::setPositionFromValue):
13728
hyatt@apple.com8de3eb72008-10-03 18:29:28 +0000137292008-10-03 David Hyatt <hyatt@apple.com>
13730
13731 Instead of a cross-platform init/destroy that forces every ScrollView platform to have a constructor/
13732 destructor that calls them, switch to having a cross-platform constructor/destructor that calls
13733 platform-specific init/destroy methods.
13734
13735 With this change, ScrollViewWin.cpp can be removed from the build (yay!).
13736
13737 Reviewed by Darin Adler
13738
13739 * WebCore.vcproj/WebCore.vcproj:
13740 * platform/ScrollView.cpp:
13741 (WebCore::ScrollView::ScrollView):
13742 (WebCore::ScrollView::~ScrollView):
13743 (WebCore::ScrollView::platformInit):
13744 (WebCore::ScrollView::platformDestroy):
13745 (WebCore::ScrollView::platformAddChild):
13746 (WebCore::ScrollView::platformRemoveChild):
13747 * platform/ScrollView.h:
13748 * platform/gtk/ScrollViewGtk.cpp:
13749 (WebCore::ScrollView::platformInit):
13750 (WebCore::ScrollView::platformDestroy):
13751 * platform/mac/ScrollViewMac.mm:
13752 * platform/qt/ScrollViewQt.cpp:
13753 (WebCore::ScrollView::platformInit):
13754 (WebCore::ScrollView::platformDestroy):
13755 * platform/win/ScrollViewWin.cpp: Removed.
13756 * platform/wx/ScrollViewWx.cpp:
13757 (WebCore::ScrollView::platformInit):
13758 (WebCore::ScrollView::platformDestroy):
13759 (WebCore::ScrollView::setPlatformWidget):
13760
adele@apple.comb1dd0a62008-10-03 18:13:28 +0000137612008-10-03 Adele Peterson <adele@apple.com>
13762
13763 Reviewed by Dan Bernstein.
13764
13765 Fix for <rdar://problem/6012018>
13766 https://bugs.webkit.org/show_bug.cgi?id=21335
13767 CrashTracer: [USER] 4959 crashes in Safari at com.apple.WebCore: WebCore::Frame::settings const + 8
13768
13769 * css/CSSFontSelector.cpp: (WebCore::fontDataForGenericFamily): Return early if the frame is nil.
13770
hausmann@webkit.org2497ae82008-10-03 16:02:54 +0000137712008-10-03 Ariya Hidayat <ariya.hidayat@trolltech.com>
13772
13773 Build fix.
13774
13775 * platform/qt/WidgetQt.cpp:
13776 (WebCore::Widget::invalidateRect):
13777
alp@webkit.org2122a042008-10-03 12:38:12 +0000137782008-10-03 Alp Toker <alp@nuanti.com>
13779
alp@webkit.orgabc5b712008-10-03 13:36:23 +000013780 Remove some left-over GTK+ includes. No change in functionality.
13781
13782 * platform/Cursor.h:
13783 * platform/graphics/Icon.h:
13784 * platform/gtk/RenderThemeGtk.h:
13785
137862008-10-03 Alp Toker <alp@nuanti.com>
13787
alp@webkit.org2122a042008-10-03 12:38:12 +000013788 Build fix for trailing comment after #endif
13789
13790 * dom/ElementRareData.h:
13791
hyatt@apple.comd664bd52008-10-03 09:03:43 +0000137922008-10-03 David Hyatt <hyatt@apple.com>
13793
13794 Remove addToDirtyRegion.
13795
13796 Reviewed by Oliver Hunt
13797
13798 * page/Chrome.cpp:
13799 * page/Chrome.h:
13800 * page/ChromeClient.h:
13801 * platform/ScrollView.h:
13802 * platform/gtk/ScrollViewGtk.cpp:
13803 * platform/qt/ScrollViewQt.cpp:
13804 * platform/win/ScrollViewWin.cpp:
13805
mitz@apple.com810de662008-10-03 09:00:08 +0000138062008-10-03 Dan Bernstein <mitz@apple.com>
13807
13808 Reviewed by Maciej Stachowiak.
13809
13810 - fix a CachedResource leak introduced in r37176
13811
13812 Undo r37176 and instead allow pruneDeadResources() to be re-entered, but
13813 afterwards bail out of the outer pruneDeadResources().
13814
13815 * loader/Cache.cpp:
13816 (WebCore::Cache::Cache):
13817 (WebCore::Cache::pruneDeadResources):
13818 (WebCore::Cache::remove):
13819 * loader/Cache.h:
13820
hyatt@apple.com38d8a8a2008-10-03 08:50:33 +0000138212008-10-03 David Hyatt <hyatt@apple.com>
13822
13823 https://bugs.webkit.org/show_bug.cgi?id=21330
13824
13825 Fix Gtk adjustments so that they are properly checked again before creating horizontal/vertical
13826 scrollbars.
13827
13828 Reviewed by Oliver Hunt
13829
13830 * platform/ScrollView.cpp:
13831 (WebCore::ScrollView::setHasHorizontalScrollbar):
13832 (WebCore::ScrollView::setHasVerticalScrollbar):
13833 (WebCore::ScrollView::platformHasHorizontalAdjustment):
13834 (WebCore::ScrollView::platformHasVerticalAdjustment):
13835 * platform/ScrollView.h:
13836 * platform/gtk/ScrollViewGtk.cpp:
13837 (WebCore::ScrollView::adjustmentChanged):
13838 (WebCore::ScrollView::ScrollView):
13839 (WebCore::ScrollView::~ScrollView):
13840 (WebCore::ScrollView::setGtkAdjustments):
13841 (WebCore::ScrollView::platformHandleHorizontalAdjustment):
13842 (WebCore::ScrollView::platformHandleVerticalAdjustment):
13843
jchaffraix@webkit.org8241c5e2008-10-03 08:15:36 +0000138442008-10-03 Julien Chaffraix <jchaffraix@webkit.org>
13845
13846 Reviewed by Maciej Stachowiak.
13847
13848 Bug 21106: .in format discussed changes
13849 https://bugs.webkit.org/show_bug.cgi?id=21106
13850
13851 Change "upperCase" to "interfaceName" per-tag parameter as
13852 discussed on the mailing list. Removed the per-attribute version
13853 as it was not used.
13854
13855 Also add the "Element" suffix to all interfaceName parameter to match
13856 the class name (and thus remove it from make_names.pl).
13857
13858 * dom/make_names.pl:
13859 * html/HTMLTagNames.in:
13860 * svg/svgtags.in:
13861
hyatt@apple.comf0a13272008-10-03 07:38:27 +0000138622008-10-03 David Hyatt <hyatt@apple.com>
13863
13864 Preserve Qt's disabling of blitting when any native widgets are present anywhere on the page (ick).
13865 Hopefully this is a temporary hack that could eventually be removed.
13866
13867 Reviewed by Sam Weinig
13868
13869 * platform/ScrollView.cpp:
13870 (WebCore::ScrollView::scrollContents):
13871 * platform/ScrollView.h:
13872 (WebCore::ScrollView::rootPreventsBlitting):
13873 * platform/qt/ScrollViewQt.cpp:
13874 (WebCore::ScrollView::ScrollView):
13875 (WebCore::ScrollView::~ScrollView):
13876 (WebCore::ScrollView::platformAddChild):
13877 (WebCore::ScrollView::platformRemoveChild):
13878
hyatt@apple.com6fa40c52008-10-03 07:06:28 +0000138792008-10-02 David Hyatt <hyatt@apple.com>
13880
13881 https://bugs.webkit.org/show_bug.cgi?id=21328
13882
13883 Make widget invalidation more cross-platform.
13884
13885 (1) Make invalidateRect a pure virtual function on Widget. All leaf widgets must now implement this function.
13886
13887 (2) Scrollbars now send invalidations through the ScrollbarClient. windowClipRect on ScrollbarClient has been removed and replaced with this invalidation call.
13888 This allows all scrollbar invalidations to go through the render tree so that transforms and reflections will be respected.
13889
13890 (3) Plugins now have the native window invalidation code for windowed plugins. Windowless plugins do a repaintRectangle on the plugin's renderer.
13891
13892 (4) FrameViews now do a repaintRectangle on their owner element's renderer.
13893
13894 Reviewed by Sam Weinig
13895
13896 * WebCore.base.exp:
13897 * page/FrameView.cpp:
13898 (WebCore::FrameView::invalidateRect):
13899 (WebCore::FrameView::invalidateScrollbarRect):
13900 * page/FrameView.h:
13901 * platform/PopupMenu.h:
13902 * platform/ScrollView.cpp:
13903 (WebCore::ScrollView::scrollContents):
13904 * platform/ScrollView.h:
13905 * platform/Scrollbar.cpp:
13906 (WebCore::Scrollbar::setEnabled):
13907 (WebCore::Scrollbar::invalidateRect):
13908 * platform/Scrollbar.h:
13909 * platform/ScrollbarClient.h:
13910 * platform/Widget.h:
13911 * platform/gtk/WidgetGtk.cpp:
13912 * platform/mac/WidgetMac.mm:
13913 * platform/win/PopupMenuWin.cpp:
13914 (WebCore::PopupMenu::invalidateScrollbarRect):
13915 * platform/win/WidgetWin.cpp:
13916 * plugins/PluginView.cpp:
13917 (WebCore::PluginView::invalidateTimerFired):
13918 (WebCore::PluginView::invalidateWindowlessPluginRect):
13919 * plugins/PluginView.h:
13920 * plugins/gtk/PluginViewGtk.cpp:
13921 (WebCore::PluginView::invalidateRect):
13922 * plugins/qt/PluginViewQt.cpp:
13923 (WebCore::PluginView::invalidateRect):
13924 * plugins/win/PluginViewWin.cpp:
13925 (WebCore::PluginView::invalidateRect):
13926 (WebCore::PluginView::invalidateRegion):
13927 * rendering/RenderLayer.cpp:
13928 (WebCore::RenderLayer::invalidateScrollbarRect):
13929 * rendering/RenderLayer.h:
13930 * rendering/RenderListBox.cpp:
13931 (WebCore::RenderListBox::paintObject):
13932 (WebCore::RenderListBox::paintScrollbar):
13933 (WebCore::RenderListBox::invalidateScrollbarRect):
13934 * rendering/RenderListBox.h:
13935
mitz@apple.com0203bbe2008-10-03 06:20:41 +0000139362008-10-02 Dan Bernstein <mitz@apple.com>
13937
13938 Reviewed by Geoffrey Garen and Sam Weinig.
13939
13940 - fix SVGFontFaceElement leaks seen in Acid3
13941 - make font-face elements take effect only when they are in the document tree
13942
13943 Test: svg/custom/font-face-not-in-document.svg
13944
13945 * svg/SVGFontData.h: Changed the m_svgFontFaceElement member from a
13946 RefPtr to a plain pointer to break a ref cycle.
13947 (WebCore::SVGFontData::svgFontFaceElement):
13948
13949 * svg/SVGFontFaceElement.cpp: Changed to insert and remove the
13950 @font-face rule from the document's mapped element sheet when the
13951 element is inserted and removed from the document, and to update it
13952 only when the element is in the document.
13953 (WebCore::SVGFontFaceElement::SVGFontFaceElement):
13954 (WebCore::SVGFontFaceElement::parseMappedAttribute):
13955 (WebCore::SVGFontFaceElement::rebuildFontFace):
13956 (WebCore::SVGFontFaceElement::insertedIntoDocument):
13957 (WebCore::SVGFontFaceElement::removedFromDocument):
13958 (WebCore::SVGFontFaceElement::childrenChanged):
13959 (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
13960 * svg/SVGFontFaceElement.h:
13961
simon.fraser@apple.com50e860f2008-10-03 00:41:29 +0000139622008-10-01 Simon Fraser <simon.fraser@apple.com>
13963
13964 Reviewed by Dave Hyatt
13965
simon.fraser@apple.com397ffb032008-10-03 00:43:39 +000013966 Fix RenderFileUploadControl::setStyle() and
13967 RenderMenuList::setStyle() to not touch the style; replace
13968 with html4.css and CSSStyleSelector changes.
13969
13970 https://bugs.webkit.org/show_bug.cgi?id=21287
13971
13972 * css/CSSStyleSelector.cpp:
13973 (WebCore::CSSStyleSelector::adjustRenderStyle):
13974 * css/html4.css:
13975 * rendering/RenderBlock.cpp:
13976 (WebCore::RenderBlock::setStyle):
13977 * rendering/RenderFileUploadControl.cpp:
13978 * rendering/RenderMenuList.cpp:
13979 (WebCore::RenderMenuList::setStyle):
13980
139812008-10-01 Simon Fraser <simon.fraser@apple.com>
13982
13983 Reviewed by Dave Hyatt
13984
simon.fraser@apple.com50e860f2008-10-03 00:41:29 +000013985 Clean up code that changes the RenderStyle passed in to
13986 table renderer setStyle() methods.
13987
13988 https://bugs.webkit.org/show_bug.cgi?id=21287
13989
13990 Tests: fast/table/floating-th.html
13991 fast/table/table-display-types-strict.html
13992 fast/table/table-display-types.html
13993
13994 * css/CSSStyleSelector.cpp:
13995 (WebCore::CSSStyleSelector::adjustRenderStyle):
13996 * rendering/RenderTableCell.cpp:
13997 (WebCore::RenderTableCell::setStyle):
13998 * rendering/RenderTableRow.cpp:
13999 (WebCore::RenderTableRow::setStyle):
14000 * rendering/RenderTableSection.cpp:
14001 (WebCore::RenderTableSection::setStyle):
14002
darin@apple.comcb1ab082008-10-03 00:28:54 +0000140032008-10-02 Darin Adler <darin@apple.com>
14004
14005 - fix build
14006
14007 * bindings/scripts/CodeGeneratorJS.pm: Need to replace the -> with a . here too.
14008 Not just locally in my generated file!
14009
adele@apple.comf0225902008-10-03 00:25:37 +0000140102008-10-02 Adele Peterson <adele@apple.com>
14011
14012 Reviewed by Dan Bernstein.
14013
14014 Fix for https://bugs.webkit.org/show_bug.cgi?id=21299
14015 REGRESSION: <input> color specified in inline style applies to placeholder
14016
14017 I recently added a pseudo-class for the placeholder, but that can be overridden by inline style changes. A pseudo-element
14018 is more appropriate. This change adds "-webkit-input-placeholder".
14019
14020 * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType):
14021 Added definition for "-webkit-input-placeholder" pseudo element.
14022 * css/CSSSelector.h: (WebCore::CSSSelector::): Added PseudoInputPlaceholder.
14023 * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
14024 Added case for PseudoInputPlaceholder.
14025 * css/html4.css: Added rule for -webkit-input-placeholder pseudo-element.
14026 * rendering/style/RenderStyle.h: (WebCore::RenderStyle::): Added INPUT_PLACEHOLDER.
14027
14028 * html/HTMLInputElement.cpp:
14029 (WebCore::HTMLInputElement::setValue): Check that its a text field before calling updatePlaceholderVisibility.
14030 (WebCore::HTMLInputElement::setValueFromRenderer): ditto.
14031 (WebCore::HTMLInputElement::updatePlaceholderVisibility): Instead of calling setChanged(), call updatePlaceholderVisibility on the renderer.
14032 setChanged wouldn't actually trigger setStyle since the style for the input element won't actually change.
14033 * rendering/RenderTextControl.cpp:
14034 (WebCore::RenderTextControl::createInnerTextStyle): Get the pseudoStyle when the placeholder is visible.
14035 (WebCore::RenderTextControl::updatePlaceholderVisibility): Sets the style on the inner text block, and calls updateFromElement so
14036 the text will be updated correctly.
14037 * rendering/RenderTextControl.h:
14038
cfleizach@apple.comd6bc1e72008-10-02 23:59:49 +0000140392008-10-02 Chris Fleizach <cfleizach@apple.com>
14040
14041 Reviewed by Darin Adler.
14042
14043 https://bugs.webkit.org/show_bug.cgi?id=21280
14044 <rdar://problem/6227690> There are a bunch of tables on this page that don't seem to be real tables
14045
14046 Updated AXTable detection to be more robust to false-positives. Specifically, added checks
14047 to ensure that there is more than one valid table cell, and that at least half of the cells
14048 have borders or have specific background colors. Modified the table detection layout test
14049 to test for the tables mentioned in the bug
14050
14051 * page/AccessibilityTable.cpp:
14052 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
14053
darin@apple.comb6295d42008-10-02 23:48:47 +0000140542008-10-02 Darin Adler <darin@apple.com>
14055
14056 Reviewed by Geoff Garen.
14057
14058 - https://bugs.webkit.org/show_bug.cgi?id=21321
14059 Bug 21321: speed up JavaScriptCore by inlining Heap in JSGlobalData
14060
14061 * bindings/js/GCController.cpp:
14062 (WebCore::collect): Use heap. instead of heap-> to work with the heap.
14063 (WebCore::GCController::gcTimerFired): Ditto.
14064 (WebCore::GCController::garbageCollectNow): Ditto.
14065 * bindings/js/JSDOMWindowShell.cpp:
14066 (WebCore::JSDOMWindowShell::operator new): Ditto.
14067 * storage/Database.cpp:
14068 (WebCore::Database::Database): Ditto.
14069
mitz@apple.com833a6e72008-10-02 20:46:35 +0000140702008-10-02 Dan Bernstein <mitz@apple.com>
14071
14072 Reviewed by Alexey Proskuryakov.
14073
14074 - fix a Database leak that resulted in Document leaks
14075
14076 * storage/Database.cpp:
14077 (WebCore::Database::openDatabase): Account for the fact that RefCounted
14078 objects start out with a ref count of 1.
14079
weinig@apple.com77b7a0a2008-10-02 20:29:19 +0000140802008-10-02 Sam Weinig <sam@webkit.org>
14081
14082 Reviewed by Mr. Geoffrey Garen.
14083
14084 Always mark your parent before marking members.
14085
14086 * bindings/js/JSDOMWindowCustom.cpp:
14087 (WebCore::JSDOMWindow::mark):
14088
hyatt@apple.com98682b32008-10-02 20:17:08 +0000140892008-10-02 David Hyatt <hyatt@apple.com>
14090
14091 https://bugs.webkit.org/show_bug.cgi?id=21314
14092
14093 Make scrollBackingStore cross-platform.
14094
14095 Reviewed by Sam Weinig
14096
14097 * loader/EmptyClients.h:
14098 (WebCore::EmptyChromeClient::repaint):
14099 (WebCore::EmptyChromeClient::scroll):
14100 * page/Chrome.cpp:
14101 (WebCore::Chrome::repaint):
14102 (WebCore::Chrome::scroll):
14103 * page/Chrome.h:
14104 * page/ChromeClient.h:
14105 * page/EventHandler.cpp:
14106 (WebCore::EventHandler::handleAutoscroll):
14107 * platform/HostWindow.h:
14108 * platform/ScrollView.cpp:
14109 (WebCore::ScrollView::scrollContents):
14110 (WebCore::ScrollView::addPanScrollIcon):
14111 (WebCore::ScrollView::removePanScrollIcon):
14112 * platform/ScrollView.h:
14113 * platform/gtk/ScrollViewGtk.cpp:
14114 * platform/qt/ScrollViewQt.cpp:
14115 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
14116 (WebCore::ScrollView::~ScrollView):
14117 * platform/win/ScrollViewWin.cpp:
14118 (WebCore::ScrollView::ScrollView):
14119 (WebCore::ScrollView::~ScrollView):
14120
kevino@webkit.org8ca54f22008-10-02 19:59:35 +0000141212008-10-02 Kevin Ollivier <kevino@theolliviers.com>
14122
14123 wx build fixes after Frame/ScrollView changes.
14124
14125 * WebCoreSources.bkl:
14126 * platform/wx/ScrollViewWx.cpp:
14127 (WebCore::ScrollView::platformContentsToScreen):
14128 (WebCore::ScrollView::platformScreenToContents):
14129 (WebCore::ScrollView::platformIsOffscreen):
14130
brettw@chromium.org83eadcc2008-10-02 19:33:42 +0000141312008-10-02 Brett Wilson <brettw@chromium.org>
14132
14133 Reviewed by Sam Weinig
14134
14135 https://bugs.webkit.org/show_bug.cgi?id=21292
14136
14137 Revert the changes to enclosingIntRect made in r12530 since the new code
14138 doesn't round correctly.
14139
14140 * ChangeLog:
14141 * platform/graphics/FloatRect.cpp:
14142 (WebCore::enclosingIntRect):
14143
mitz@apple.com92dc01a2008-10-02 18:48:33 +0000141442008-10-02 Dan Bernstein <mitz@apple.com>
14145
14146 Reviewed by Anders Carlsson and Eric Seidel.
14147
14148 - fix HTMLCanvaseElement leak from -webkit-canvas() values
14149
14150 Changed the m_element member of CSSCanvasValue from a RefPtr to a plain
14151 pointer, as the document owns the canvas elements. Added code to release
14152 those elements in Document::removedLastRef() because they reference
14153 the document.
14154
14155 * css/CSSCanvasValue.cpp:
14156 (WebCore::CSSCanvasValue::element):
14157 * css/CSSCanvasValue.h:
14158 (WebCore::CSSCanvasValue::CSSCanvasValue):
14159 * dom/Document.cpp:
14160 (WebCore::Document::removedLastRef):
14161
ap@webkit.org44e40e42008-10-02 18:39:34 +0000141622008-10-02 Alexey Proskuryakov <ap@webkit.org>
14163
14164 Reviewed by Maciej Stachowiak.
14165
ap@webkit.orgdffca802008-10-02 18:40:40 +000014166 Build fix for platforms that don't implement WTF::ThreadSpecific.
ap@webkit.org44e40e42008-10-02 18:39:34 +000014167
14168 * bindings/js/JSDOMBinding.cpp: (WebCore::wrapperSet):
14169 Guard ThreadSpecific use with #if ENABLE(WORKERS). No platform defines this yet, but this
14170 code is only needed for JS bindings in worker threads.
14171
hyatt@apple.comf1ffabf2008-10-02 18:23:32 +0000141722008-10-01 David Hyatt <hyatt@apple.com>
14173
14174 https://bugs.webkit.org/show_bug.cgi?id=21298
14175
14176 Make updateScrollbars cross-platform. For now a stubbed out scrollContents function is invoked to do the scrolling of the backing store. Next patch
14177 will make that cross-platform.
14178
14179 The ScrollView now implements ScrollbarClient, which means that there was a clash of windowClipRect methods from the
14180 multiple inheritance. For now I solved this by adding a Scrollbar* to the ScrollbarClient version of the method, but longer term
14181 windowClipRect is going to be removed from ScrollbarClient (when Widget invalidation gets rewritten).
14182
14183 Reviewed by Sam Weinig
14184
14185 * page/FrameView.cpp:
14186 (WebCore::FrameView::windowClipRect):
14187 (WebCore::FrameView::isActive):
14188 * page/FrameView.h:
14189 (WebCore::FrameView::visibleContentsResized):
14190 * platform/PopupMenu.h:
14191 * platform/ScrollView.cpp:
14192 (WebCore::ScrollView::init):
14193 (WebCore::ScrollView::destroy):
14194 (WebCore::ScrollView::setHasHorizontalScrollbar):
14195 (WebCore::ScrollView::setHasVerticalScrollbar):
14196 (WebCore::ScrollView::valueChanged):
14197 (WebCore::ScrollView::updateScrollbars):
14198 (WebCore::ScrollView::scrollContents):
14199 (WebCore::ScrollView::platformHandleHorizontalAdjustment):
14200 (WebCore::ScrollView::platformHandleVerticalAdjustment):
14201 * platform/ScrollView.h:
14202 * platform/Scrollbar.cpp:
14203 (WebCore::Scrollbar::windowClipRect):
14204 * platform/ScrollbarClient.h:
14205 * platform/gtk/ScrollViewGtk.cpp:
14206 (WebCore::ScrollView::platformHandleHorizontalAdjustment):
14207 (WebCore::ScrollView::platformHandleVerticalAdjustment):
14208 * platform/qt/ScrollViewQt.cpp:
14209 (WebCore::ScrollView::scrollContents):
14210 * platform/win/PopupMenuWin.cpp:
14211 (WebCore::PopupMenu::windowClipRect):
14212 * platform/win/ScrollViewWin.cpp:
14213 (WebCore::ScrollView::scrollContents):
14214 * rendering/RenderLayer.cpp:
14215 (WebCore::RenderLayer::windowClipRect):
14216 * rendering/RenderLayer.h:
14217 * rendering/RenderListBox.cpp:
14218 (WebCore::RenderListBox::panScroll):
14219 (WebCore::RenderListBox::windowClipRect):
14220 * rendering/RenderListBox.h:
14221
ap@webkit.org03710832008-10-02 16:18:56 +0000142222008-10-02 Alexey Proskuryakov <ap@webkit.org>
14223
14224 Reviewed by Darin Adler.
14225
14226 https://bugs.webkit.org/show_bug.cgi?id=21304
14227 Stop using a static wrapper map for WebCore JS bindings
14228
14229 The static domObjects map was not thread safe.
14230
14231 * dom/Document.h:
14232 (WebCore::Document::messagePorts): Added an accessor for JSDocument to iterate over message
14233 ports.
14234 (WebCore::Document::xmlHttpRequests): Ditto for XMLHttpRequests.
14235
14236 * dom/Document.cpp:
14237 (WebCore::Document::createdXMLHttpRequest):
14238 (WebCore::Document::destroyedXMLHttpRequest):
14239 Moved XMLHttpRequest tracking from a global map to Document.
14240
14241 * GNUmakefile.am:
14242 * WebCore.pro:
14243 * WebCore.vcproj/WebCore.vcproj:
14244 * WebCore.xcodeproj/project.pbxproj:
14245 * WebCoreSources.bkl:
14246 * webcore-base.bkl:
14247 * bindings/DOMProtect.cpp: Removed.
14248 * bindings/DOMProtect.h: Removed.
14249 Removed gcProtect(Unprotect)DOMObject - its callers do not have a JSGlobalData reference,
14250 so they can no longer protect bindings objects.
14251
14252 * dom/MessagePort.cpp:
14253 (WebCore::CloseMessagePortTimer::CloseMessagePortTimer):
14254 (WebCore::CloseMessagePortTimer::fired):
14255 (WebCore::MessagePort::MessagePort):
14256 (WebCore::MessagePort::queueCloseEvent):
14257 (WebCore::MessagePort::setPendingActivity):
14258 (WebCore::MessagePort::unsetPendingActivity):
14259 * dom/MessagePort.h:
14260 (WebCore::MessagePort::hasPendingActivity):
14261 MessagePort now counts outstanding async events, so JSDocument::mark can decide whether
14262 to protect it.
14263
14264 * xml/XMLHttpRequest.h:
14265 (WebCore::XMLHttpRequest::hasPendingActivity):
14266 * xml/XMLHttpRequest.cpp:
14267 (WebCore::XMLHttpRequest::XMLHttpRequest):
14268 (WebCore::XMLHttpRequest::~XMLHttpRequest):
14269 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
14270 (WebCore::XMLHttpRequest::dropProtection):
14271 (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
14272 (WebCore::XMLHttpRequest::cancelRequests):
14273 (WebCore::XMLHttpRequest::detachRequests):
14274 (WebCore::XMLHttpRequest::setPendingActivity):
14275 (WebCore::XMLHttpRequest::unsetPendingActivity):
14276 Moved XMLHttpRequest tracking from a global map to Document.
14277
14278 * bindings/js/JSDOMBinding.cpp:
14279 (WebCore::wrapperSet):
14280 (WebCore::DOMObjectWrapperMap::mapFor):
14281 (WebCore::DOMObjectWrapperMap::get):
14282 (WebCore::DOMObjectWrapperMap::set):
14283 (WebCore::DOMObjectWrapperMap::remove):
14284 (WebCore::getCachedDOMObjectWrapper):
14285 (WebCore::cacheDOMObjectWrapper):
14286 (WebCore::forgetDOMObject):
14287 (WebCore::getCachedDOMNodeWrapper):
14288 (WebCore::forgetDOMNode):
14289 (WebCore::cacheDOMNodeWrapper):
14290 (WebCore::markActiveObjectsForDocument):
14291 * bindings/js/JSDOMBinding.h:
14292 (WebCore::createDOMObjectWrapper):
14293 (WebCore::getDOMObjectWrapper):
14294 Wrapper map is now kept as JSGlobalData::clientData. Also changed debug-only wrapperSet
14295 to be per-thread (this is slower than going to JSGlobalData, but fast enough for debug).
14296 WebCore objects can never migrate between threads.
14297
14298 * bindings/js/JSDocumentCustom.cpp:
14299 (WebCore::JSDocument::mark):
14300 Call markActiveObjectsForDocument() from JSDOMBinding.
14301
14302 * bindings/js/JSCSSRuleCustom.cpp:
14303 (WebCore::toJS):
14304 * bindings/js/JSCSSValueCustom.cpp:
14305 (WebCore::toJS):
14306 * bindings/js/JSDOMWindowCustom.cpp:
14307 (WebCore::markDOMObjectWrapper):
14308 (WebCore::JSDOMWindow::mark):
14309 * bindings/js/JSEventCustom.cpp:
14310 (WebCore::toJS):
14311 * bindings/js/JSEventTarget.cpp:
14312 (WebCore::toJS):
14313 * bindings/js/JSHTMLCollectionCustom.cpp:
14314 (WebCore::toJS):
14315 * bindings/js/JSImageDataCustom.cpp:
14316 (WebCore::toJS):
14317 * bindings/js/JSMessageChannelCustom.cpp:
14318 (WebCore::JSMessageChannel::mark):
14319 * bindings/js/JSMessagePortCustom.cpp:
14320 (WebCore::JSMessagePort::mark):
14321 * bindings/js/JSNodeCustom.cpp:
14322 (WebCore::JSNode::mark):
14323 * bindings/js/JSSVGPathSegCustom.cpp:
14324 (WebCore::toJS):
14325 * bindings/js/JSStyleSheetCustom.cpp:
14326 (WebCore::toJS):
14327 * bindings/js/JSXMLHttpRequestCustom.cpp:
14328 (WebCore::JSXMLHttpRequest::mark):
14329 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
14330 (WebCore::JSXMLHttpRequestUpload::mark):
14331 * bindings/js/ScriptController.cpp:
14332 (WebCore::ScriptController::finishedWithEvent):
14333 * bindings/scripts/CodeGeneratorJS.pm:
14334 Pass a JSGlobalData reference to functions that track JS wrapper objects.
14335
mitz@apple.coma2b6b112008-10-02 07:52:29 +0000143362008-10-02 Dan Bernstein <mitz@apple.com>
14337
14338 - build fix
14339
14340 * page/JavaScriptCallFrame.idl:
14341
oliver@apple.com619d60b92008-10-02 07:35:21 +0000143422008-10-02 Oliver Hunt <oliver@apple.com>
14343
14344 Reviewed by NOBODY (Build fix).
14345
14346 Add new file to project files
14347
14348 * GNUmakefile.am:
14349 * WebCore.pro:
14350 * WebCore.vcproj/WebCore.vcproj:
14351
ggaren@apple.comdf2fda82008-10-02 07:13:43 +0000143522008-10-02 Geoffrey Garen <ggaren@apple.com>
14353
14354 Not reviewed.
ggaren@apple.com14a8dbd2008-10-02 07:15:12 +000014355
14356 Try to fix some more builds.
14357
14358 * GNUmakefile.am:
14359 * WebCore.pro:
14360
143612008-10-02 Geoffrey Garen <ggaren@apple.com>
14362
14363 Not reviewed.
ggaren@apple.comdf2fda82008-10-02 07:13:43 +000014364
14365 Try to fix Windows build.
14366
14367 * WebCore.vcproj/WebCore.vcproj:
14368
ggaren@apple.com69e9ccf2008-10-02 06:44:37 +0000143692008-10-01 Geoffrey Garen <ggaren@apple.com>
14370
14371 Reviewed by Darin Adler and Cameron Zwarich.
14372
14373 Updated for JavaScriptCore API changes: use a SourceCode instead of
14374 broken out parameters; treat sourceId as intptr_t.
14375
14376 * ForwardingHeaders/kjs/SourceRange.h: Copied from ForwardingHeaders/kjs/SourceProvider.h.
14377 * bindings/js/JSXMLHttpRequestCustom.cpp:
14378 (WebCore::JSXMLHttpRequest::send):
14379 * bindings/js/ScriptController.cpp:
14380 (WebCore::ScriptController::evaluate):
14381 * bindings/js/StringSourceProvider.h:
14382 (WebCore::StringSourceProvider::create):
14383 (WebCore::StringSourceProvider::StringSourceProvider):
14384
14385 (WebCore::makeSource): Added a makeSource function for convenience.
14386
14387 * bindings/objc/WebScriptObject.mm:
14388 (-[WebScriptObject evaluateWebScript:]):
14389 * bridge/NP_jsobject.cpp:
14390 (_NPN_Evaluate):
14391 * bridge/jni/jni_jsobject.mm:
14392 (JavaJSObject::call):
14393 (JavaJSObject::eval):
14394 (JavaJSObject::getMember):
14395 (JavaJSObject::setMember):
14396 (JavaJSObject::removeMember):
14397
14398 * bridge/jni/jni_runtime.h:
14399 (JSC::Bindings::JavaString::operator UString): Replaced the explicit
14400 ustring() function with an implicit operator because this class already
14401 holds a UString::rep.
14402
14403 * page/Console.cpp:
14404 (WebCore::retrieveLastCaller):
14405 (WebCore::Console::trace):
14406 * page/InspectorController.cpp:
14407 (WebCore::jsStringRef):
14408 (WebCore::InspectorController::addBreakpoint):
14409 (WebCore::InspectorController::removeBreakpoint):
14410 (WebCore::InspectorController::didParseSource):
14411 (WebCore::InspectorController::failedToParseSource):
14412 * page/InspectorController.h:
14413 * page/JavaScriptCallFrame.cpp:
14414 (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
14415 * page/JavaScriptCallFrame.h:
14416 (WebCore::JavaScriptCallFrame::create):
14417 (WebCore::JavaScriptCallFrame::sourceIdentifier):
14418 (WebCore::JavaScriptCallFrame::update):
14419 * page/JavaScriptDebugListener.h:
14420 * page/JavaScriptDebugServer.cpp:
14421 (WebCore::JavaScriptDebugServer::addBreakpoint):
14422 (WebCore::JavaScriptDebugServer::removeBreakpoint):
14423 (WebCore::JavaScriptDebugServer::hasBreakpoint):
14424 (WebCore::dispatchDidParseSource):
14425 (WebCore::dispatchFailedToParseSource):
14426 (WebCore::JavaScriptDebugServer::sourceParsed):
14427 (WebCore::JavaScriptDebugServer::callEvent):
14428 (WebCore::JavaScriptDebugServer::atStatement):
14429 (WebCore::JavaScriptDebugServer::returnEvent):
14430 (WebCore::JavaScriptDebugServer::exception):
14431 (WebCore::JavaScriptDebugServer::willExecuteProgram):
14432 (WebCore::JavaScriptDebugServer::didExecuteProgram):
14433 (WebCore::JavaScriptDebugServer::didReachBreakpoint):
14434 * page/JavaScriptDebugServer.h:
14435 * page/inspector/ScriptsPanel.js: Renamed internal uses of sourceId and
14436 sourceIdentifier to sourceID.
14437
mitz@apple.com7a7f3142008-10-02 06:08:15 +0000144382008-10-01 Dan Bernstein <mitz@apple.com>
14439
14440 Reviewed by Geoffrey Garen.
14441
14442 - fix SVGFontFaceElement leak seen on svg/custom/acid3-test-77.html
14443
14444 Broke a ref cycle by changing the m_svgFontFaceElement members of
14445 CSSFontFaceSource and CSSFontFaceSrcValue from RefPtrs to plain
14446 pointers. Also made sure that the @font-face rule added by
14447 SVGFontFaceElement to the document's mapped element sheet is removed
14448 when the font-face element is deleted or moved to another document.
14449
14450 * css/CSSFontFaceSource.cpp:
14451 (WebCore::CSSFontFaceSource::CSSFontFaceSource):
14452 (WebCore::CSSFontFaceSource::getFontData):
14453 * css/CSSFontFaceSource.h:
14454 (WebCore::CSSFontFaceSource::svgFontFaceElement):
14455 * css/CSSFontFaceSrcValue.h:
14456 (WebCore::CSSFontFaceSrcValue::svgFontFaceElement):
14457 (WebCore::CSSFontFaceSrcValue::CSSFontFaceSrcValue):
14458 * svg/SVGFontFaceElement.cpp:
14459 (WebCore::SVGFontFaceElement::~SVGFontFaceElement):
14460 (WebCore::SVGFontFaceElement::willMoveToNewOwnerDocument):
14461 (WebCore::SVGFontFaceElement::didMoveToNewOwnerDocument):
14462 (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
14463 * svg/SVGFontFaceElement.h:
14464
oliver@apple.comd3de8f32008-10-02 05:02:00 +0000144652008-10-01 Oliver Hunt <oliver@apple.com>
14466
14467 Reviewed by Maciej Stachowiak.
14468
14469 Bug 20315: Memory leak with Canvas getImageData
14470 <https://bugs.webkit.org/show_bug.cgi?id=20315>
14471
14472 This wasn't a leak, the issue was that we were reporting the cost
14473 of the CanvasPixelArray when creating the JSCanvasPixelArray wrapper
14474 and we should have been reporting the cost when we create the
14475 JSImageData wrapper.
14476
14477 * WebCore.xcodeproj/project.pbxproj:
14478 * bindings/js/JSCanvasPixelArrayCustom.cpp: Removed.
14479 This was only needed to report the extra memory cost
14480 of the CPA.
14481 * bindings/js/JSImageDataCustom.cpp:
14482 (WebCore::toJS):
14483 We need a custom toJS function now so that we can report
14484 the extra memory cost.
14485 * bindings/scripts/CodeGeneratorJS.pm:
14486 Need to replace the reference to CanvasPixelArray with ImageData
14487 to be able to create the custom toJS implementation.
14488 * html/CanvasPixelArray.idl:
14489 * html/ImageData.idl:
14490
mitz@apple.come0642ce2008-10-02 04:54:06 +0000144912008-10-01 Dan Bernstein <mitz@apple.com>
14492
14493 Reviewed by Mark Rowe.
14494
14495 - https://bugs.webkit.org/show_bug.cgi?id=21293
14496 REGRESSION: Crash beneath RenderSVGViewportContainer::viewportTransform() during SVGSVGElement destruction
14497
14498 * svg/SVGMarkerElement.cpp:
14499 (WebCore::SVGMarkerElement::~SVGMarkerElement): Call detach() here so
14500 that renderer destruction happens before the SVGMarkerElement is
14501 destroyed.
14502 * svg/SVGSVGElement.cpp:
14503 (WebCore::SVGSVGElement::~SVGSVGElement): Ditto for SVGSVGElement.
14504
eric@webkit.orgbe40b812008-10-02 01:43:16 +0000145052008-10-01 Evan Martin <evan@chromium.org>
14506
14507 Reviewed by Eric Seidel.
eric@webkit.org194cb362008-10-02 01:47:44 +000014508
14509 https://bugs.webkit.org/show_bug.cgi?id=20669
14510
14511 * css/makeprop.pl:
14512 Die if gperf fails.
14513
145142008-10-01 Evan Martin <evan@chromium.org>
14515
14516 Reviewed by Eric Seidel.
eric@webkit.orgbe40b812008-10-02 01:43:16 +000014517
14518 * loader/icon/IconDatabase.h:
14519 IconDatabase uses HashMap, so it needs to #include the header.
14520
mitz@apple.com0ff2a012008-10-02 00:48:54 +0000145212008-10-01 Dan Bernstein <mitz@apple.com>
14522
14523 Reviewed by Mark Rowe.
14524
mitz@apple.comca0080b2008-10-02 01:35:05 +000014525 - fix an assertion failure in http/tests/security/canvas-remote-read-svg-image.html due to re-entry into Cache::pruneDeadResources()
14526
14527 * loader/Cache.cpp:
14528 (WebCore::Cache::remove): Disable pruning temporarily during
14529 CachedResource deletion.
14530
145312008-10-01 Dan Bernstein <mitz@apple.com>
14532
14533 Reviewed by Mark Rowe.
14534
mitz@apple.com0ff2a012008-10-02 00:48:54 +000014535 - fix SVGFontElement leaks seen on buildbot by breaking a ref cycle
14536
14537 * svg/SVGFontFaceElement.cpp:
14538 (WebCore::SVGFontFaceElement::rebuildFontFace):
14539 * svg/SVGFontFaceElement.h:
14540 (WebCore::SVGFontFaceElement::associatedFontElement):
14541
brettw@chromium.org87b0e122008-10-01 22:34:16 +0000145422008-10-01 Brett Wilson <brettw@chromium.org>
14543
14544 Reviewed by Maciej Stachowiak.
14545
14546 Document the rounding behavior of the mapRect(IntRect) function in
14547 AffineTransform.h.
14548
14549 * platform/graphics/AffineTransform.h:
14550
hyatt@apple.comdeb39ee2008-10-01 22:30:56 +0000145512008-10-01 David Hyatt <hyatt@apple.com>
14552
14553 Move prohibitsScrolling from the Frame to the ScrollView.
14554
14555 Reviewed by Sam Weinig
14556
14557 * WebCore.base.exp:
14558 * page/Frame.cpp:
14559 (WebCore::FramePrivate::FramePrivate):
14560 * page/Frame.h:
14561 * page/FramePrivate.h:
14562 * page/FrameView.cpp:
14563 (WebCore::FrameView::scrollRectIntoViewRecursively):
14564 (WebCore::FrameView::setScrollPosition):
14565 * platform/ScrollView.cpp:
14566 (WebCore::ScrollView::init):
14567 (WebCore::ScrollView::scrollRectIntoViewRecursively):
14568 (WebCore::ScrollView::setScrollPosition):
14569 * platform/ScrollView.h:
14570 (WebCore::ScrollView::setProhibitsScrolling):
14571 (WebCore::ScrollView::prohibitsScrolling):
14572 * platform/gtk/ScrollViewGtk.cpp:
14573 (WebCore::ScrollView::updateScrollbars):
14574 * platform/qt/ScrollViewQt.cpp:
14575 (WebCore::ScrollView::updateScrollbars):
14576 * platform/win/ScrollViewWin.cpp:
14577 (WebCore::ScrollView::updateScrollbars):
14578
mrowe@apple.combffe15d2008-10-01 22:24:37 +0000145792008-10-01 Mark Rowe <mrowe@apple.com>
14580
14581 Reviewed by Geoff Garen.
14582
14583 Fix leaks seen during http/tests/xmlhttprequest/access-control-basic-non-simple-allow.html.
14584
14585 * xml/XMLHttpRequest.cpp:
14586 (WebCore::XMLHttpRequest::didFinishLoadingPreflight): Balance the ref and GC protect
14587 that we do during the loadRequestAsynchronously of the preflight request with a deref and
14588 GC unprotect.
14589
hyatt@apple.com2f029122008-10-01 22:12:23 +0000145902008-10-01 David Hyatt <hyatt@apple.com>
14591
14592 Rename allowsScrolling/setAllowsScrolling to canHaveScrollbars/setCanHaveScrollbars to make it more
14593 clear that the boolean doesn't actually stop all scrolling. It just gets rid of scrollbars.
14594
14595 Reviewed by Tim Hatcher
14596
14597 * WebCore.base.exp:
14598 * page/FrameView.cpp:
14599 (WebCore::FrameView::setCanHaveScrollbars):
14600 * page/FrameView.h:
14601 * platform/ScrollView.cpp:
14602 (WebCore::ScrollView::setCanHaveScrollbars):
14603 (WebCore::ScrollView::wheelEvent):
14604 * platform/ScrollView.h:
14605 (WebCore::ScrollView::canHaveScrollbars):
14606
mitz@apple.combebfaae2008-10-01 21:19:41 +0000146072008-10-01 Dan Bernstein <mitz@apple.com>
14608
14609 Reviewed by Mark Rowe.
14610
14611 - fix some CachedResource leaks seen on buildbot
14612
14613 The issue here was that emptying the cache was a no-op when it only
14614 contained resources with no data. Changed to go after those
14615 resources when the desired cache capacity is zero.
14616
14617 * loader/Cache.cpp:
14618 (WebCore::Cache::pruneLiveResources):
14619 (WebCore::Cache::pruneDeadResources):
14620 * loader/Cache.h:
14621 (WebCore::Cache::prune):
14622
hyatt@apple.come72b16e2008-10-01 20:58:19 +0000146232008-10-01 David Hyatt <hyatt@apple.com>
14624
hyatt@apple.com08ef1ea2008-10-01 21:11:07 +000014625 Make isOffscreen cross-platform. Only Mac implements this method, so hold off on adding API to the
14626 HostWindow object until other platforms decide they want this method. (We need it for Win though at some point.)
14627
14628 Reviewed by Adam Roben
14629
14630 * platform/ScrollView.cpp:
14631 (WebCore::ScrollView::isOffscreen):
14632 (WebCore::ScrollView::platformIsOffscreen):
14633 * platform/ScrollView.h:
14634 * platform/gtk/ScrollViewGtk.cpp:
14635 * platform/mac/ScrollViewMac.mm:
14636 (WebCore::ScrollView::platformIsOffscreen):
14637 * platform/qt/ScrollViewQt.cpp:
14638 * platform/wx/ScrollViewWx.cpp:
14639
146402008-10-01 David Hyatt <hyatt@apple.com>
14641
hyatt@apple.come72b16e2008-10-01 20:58:19 +000014642 Make show/hide/setParentVisible cross-platform on ScrollView.
14643
14644 Reviewed by Adam Roben
14645
14646 * platform/ScrollView.cpp:
14647 (WebCore::ScrollView::setParentVisible):
14648 (WebCore::ScrollView::show):
14649 (WebCore::ScrollView::hide):
14650 * platform/ScrollView.h:
14651 * platform/win/ScrollViewWin.cpp:
14652
kmccullough@apple.com5e00f5c2008-10-01 20:41:56 +0000146532008-10-01 Kevin McCullough <kmccullough@apple.com>
14654
14655 Reviewed by Dan Bernstein.
14656
14657 https://bugs.webkit.org/show_bug.cgi?id=21284
14658 Bug 21284: Max height affects max width
14659 - Looks like a cut and paste bug
14660 - Added layout test fast/css/max-height-and-max-width.html
14661
14662 * css/CSSComputedStyleDeclaration.cpp:
14663 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
14664
hyatt@apple.comfe9c1302008-10-01 20:34:07 +0000146652008-10-01 David Hyatt <hyatt@apple.com>
14666
14667 https://bugs.webkit.org/show_bug.cgi?id=21282
14668
14669 Make contentsToScreen/screenToContents cross-platform. Only implemented by Mac/Win right now.
14670
14671 Reviewed by Adam Roben
14672
14673 * loader/EmptyClients.h:
14674 (WebCore::EmptyChromeClient::screenToWindow):
14675 (WebCore::EmptyChromeClient::windowToScreen):
14676 * page/Chrome.cpp:
14677 (WebCore::Chrome::screenToWindow):
14678 (WebCore::Chrome::windowToScreen):
14679 * page/Chrome.h:
14680 * page/ChromeClient.h:
14681 * platform/HostWindow.h:
14682 * platform/ScrollView.cpp:
14683 (WebCore::ScrollView::contentsToScreen):
14684 (WebCore::ScrollView::screenToContents):
14685 (WebCore::ScrollView::platformContentsToScreen):
14686 (WebCore::ScrollView::platformScreenToContents):
14687 * platform/ScrollView.h:
14688 * platform/mac/ScrollViewMac.mm:
14689 (WebCore::ScrollView::platformContentsToScreen):
14690 (WebCore::ScrollView::platformScreenToContents):
14691 * platform/win/ScrollViewWin.cpp:
14692
mitz@apple.comf2ee2052008-10-01 20:31:19 +0000146932008-10-01 Dan Bernstein <mitz@apple.com>
14694
14695 Reviewed by Darin Adler.
14696
14697 - fix <rdar://problem/6255862> domfuzz: null deref in WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks(WebCore::HTMLStackElem*)
14698
14699 Test: fast/parser/residual-style-close-across-removed-block.html
14700
14701 * html/HTMLParser.cpp:
14702 (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Removed
14703 an assertion that turned out to be wrong in this case, and changed to
14704 terminate the algorithm at the first empty block.
14705
hyatt@apple.comc5a54f42008-10-01 19:23:05 +0000147062008-10-01 David Hyatt <hyatt@apple.com>
14707
14708 Make setFrameRect on ScrollView cross-platform.
14709
14710 Reviewed by Sam Weinig
14711
14712 * page/FrameView.h:
14713 (WebCore::FrameView::contentsResized):
14714 * platform/ScrollView.cpp:
14715 (WebCore::ScrollView::setFrameRect):
14716 * platform/ScrollView.h:
14717 * platform/gtk/ScrollViewGtk.cpp:
14718 * platform/qt/ScrollViewQt.cpp:
14719 * platform/win/ScrollViewWin.cpp:
14720
weinig@apple.comab5c0172008-10-01 19:17:01 +0000147212008-10-01 Sam Weinig <sam@webkit.org>
14722
14723 Reviewed by Adele Peterson.
14724
14725 Move setTimeout, clearTimeout, setInterval, clearInterval, atob and btoa
14726 to JSDOMWindow from JSDOMWindowBase.
14727
14728 * WebCore.xcodeproj/project.pbxproj:
14729 * bindings/js/JSDOMWindowBase.cpp:
14730 (WebCore::JSDOMWindowBase::removeTimeout):
14731 * bindings/js/JSDOMWindowBase.h:
14732 * bindings/js/JSDOMWindowCustom.cpp:
14733 (WebCore::setTimeoutOrInterval):
14734 (WebCore::JSDOMWindow::setTimeout):
14735 (WebCore::JSDOMWindow::clearTimeout):
14736 (WebCore::JSDOMWindow::setInterval):
14737 (WebCore::JSDOMWindow::clearInterval):
14738 (WebCore::JSDOMWindow::atob):
14739 (WebCore::JSDOMWindow::btoa):
14740 * page/DOMWindow.idl:
14741
mitz@apple.comd9e6f4e2008-10-01 18:12:45 +0000147422008-10-01 Dan Bernstein <mitz@apple.com>
14743
14744 - Mac build fix
14745
14746 * WebCore.base.exp:
14747
timothy@apple.comd2bf1cb2008-10-01 17:33:37 +0000147482008-10-01 Timothy Hatcher <timothy@apple.com>
14749
14750 Prevent stealing focus from the search field when focusing a DOM node.
14751
14752 https://bugs.webkit.org/show_bug.cgi?id=21275
14753
14754 Reviewed by Kevin McCullough.
14755
14756 * page/inspector/ElementsPanel.js:
14757 (WebInspector.ElementsPanel.treeOutline.focusedNodeChanged):
14758 Don't steal focus if the current focus element is the search field.
14759
weinig@apple.com841594d2008-10-01 07:27:49 +0000147602008-09-30 Sam Weinig <sam@webkit.org>
14761
14762 Reviewed by Nikolas Zimmermann and Alexey Proskuryakov.
14763
14764 Final patch for https://bugs.webkit.org/show_bug.cgi?id=21122
14765 Autogenerate JS event listeners
14766
14767 - Generate getting/setting of EventListeners.
14768
14769 - Adding a new named EventListener now has the same process as adding any other DOM
14770 attribute. (Add a method with the same name in the c++ file).
14771
14772 (The EventListeners for MessagePort have been intentionally left custom so that we
14773 can continue to experiment with making those EventListeners work in a frame-less world.)
14774
14775 * bindings/js/JSDOMApplicationCacheCustom.cpp: Remove custom methods.
14776 * bindings/js/JSDOMWindowCustom.cpp: ditto.
14777 * bindings/js/JSEventTargetNodeCustom.cpp: ditto.
14778 * bindings/js/JSXMLHttpRequestCustom.cpp: ditto.
14779 * bindings/js/JSXMLHttpRequestUploadCustom.cpp: ditto.
14780 * bindings/scripts/CodeGeneratorJS.pm: Add code to generate EventListener
14781 getter/setters
14782 * dom/EventTargetNode.cpp: Add getter/setters for named EventListener.
14783 * dom/EventTargetNode.h: ditto.
14784 * dom/EventTargetNode.idl: Mark EventListeners as Protected so that the codegenerator
14785 will use JSEventListerner instead of JSUnprotectedEventListener.
14786 * loader/appcache/DOMApplicationCache.idl: Remove custom attributes..
14787 * page/DOMWindow.cpp: Add getter/setters for named EventListener
14788 * page/DOMWindow.h: ditto.
14789 * page/DOMWindow.idl: Mark EventListeners as Protected so that the codegenerator
14790 will use JSEventListerner instead of JSUnprotectedEventListener.
14791 * xml/XMLHttpRequest.idl: Remove custom attributes.
14792 * xml/XMLHttpRequestUpload.idl: ditto.
14793
mrowe@apple.comfed78312008-10-01 06:53:49 +0000147942008-09-30 Mark Rowe <mrowe@apple.com>
14795
14796 Reviewed by Dan Bernstein.
14797
14798 Add a leak counter for CachedResources since we've had two recent leaks involving them.
14799
14800 * loader/CachedResource.cpp:
14801 (WebCore::CachedResource::CachedResource):
14802 (WebCore::CachedResource::~CachedResource):
14803
mitz@apple.com19b93112008-10-01 06:25:17 +0000148042008-09-30 Dan Bernstein <mitz@apple.com>
14805
14806 Reviewed by Dave Hyatt.
14807
14808 - fix https://bugs.webkit.org/show_bug.cgi?id=21127
14809 <rdar://problem/6259134> REGRESSION: CFF format fonts fail to load
14810
14811 If TTLoadEmbeddedFont fails, use AddFontMemResourceEx after changing
14812 the font name in memory.
14813
14814 * WebCore.vcproj/WebCore.vcproj: Renamed GetEOTHeader.* to
14815 OpenTypeUtilities.*.
14816
14817 * platform/graphics/win/FontCustomPlatformData.cpp:
14818 (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Added a call
14819 to RemoveFontMemResourceEx to match AddFontMemResourceEx when it is
14820 used.
14821 (WebCore::FontCustomPlatformData::fontPlatformData): Added a code path
14822 for fonts loaded using AddFontMemResourceEx.
14823 (WebCore::createFontCustomPlatformData): Added a call to
14824 renameAndActivateFont() if TTLoadEmbeddedFont fails. If
14825 TTLoadEmbeddedFont succeeds, set the font name to the null string, as
14826 fontPlatformData() will retrieve the name from the font reference.
14827
14828 * platform/graphics/win/FontCustomPlatformData.h:
14829 (WebCore::FontCustomPlatformData::FontCustomPlatformData): Added a
14830 font name member.
14831
14832 * platform/graphics/win/GetEOTHeader.cpp: Renamed.
14833 * platform/graphics/win/GetEOTHeader.h: Renamed.
14834
14835 * platform/graphics/win/OpenTypeUtilities.cpp: Copied from platform/graphics/win/GetEOTHeader.cpp.
14836 (WebCore::BigEndianUShort::BigEndianUShort): Added a constructor.
14837 (WebCore::BigEndianULong::BigEndianULong): Ditto.
14838 (WebCore::renameAndActivateFont): Added. Creates an in-memory copy of
14839 the font data and modifies it to have the given name, then activates
14840 it using AddFontMemResourceEx.
14841
14842 * platform/graphics/win/OpenTypeUtilities.h: Copied from platform/graphics/win/GetEOTHeader.h.
14843
mrowe@apple.com12cb8c22008-10-01 06:09:28 +0000148442008-09-30 Mark Rowe <mrowe@apple.com>
14845
14846 Reviewed by Dan Bernstein.
14847
14848 Fix many leaks seen on fast/backgrounds/svg-as-mask.html.
14849
14850 * rendering/RenderObject.cpp:
14851 (WebCore::RenderObject::arenaDelete): Balance the calls to addClient on maskLayer's images
14852 with calls to removeClient when we're being destroyed.
14853
eric.carlson@apple.comb9d8cc52008-10-01 05:45:01 +0000148542008-09-30 Eric Carlson <eric.carlson@apple.com>
14855
mrowe@apple.com12cb8c22008-10-01 06:09:28 +000014856 Reviewed by Antti Koivisto.
eric.carlson@apple.comb9d8cc52008-10-01 05:45:01 +000014857
14858 https://bugs.webkit.org/show_bug.cgi?id=21243
14859
14860 Fix loopstart and loopend default values.
14861
14862 Tests: media/loopend-limits.html
14863 media/loopstart-limits.html
14864
14865 * html/HTMLMediaElement.cpp:
14866 (WebCore::HTMLMediaElement::loopStart): the spec says start() is the default value
14867 (WebCore::HTMLMediaElement::loopEnd): the spec says end() is the default value
14868
kevino@webkit.orgbfd4cab2008-10-01 05:04:18 +0000148692008-09-30 Kevin Ollivier <kevino@theolliviers.com>
14870
14871 wx build fixes. Add file to build and remove call to (now gone) ScrollView::update.
14872
14873 * WebCoreSources.bkl:
14874 * platform/wx/ScrollViewWx.cpp:
14875 (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
14876
mitz@apple.com17145582008-10-01 04:43:07 +0000148772008-09-30 Dan Bernstein <mitz@apple.com>
14878
14879 Reviewed by Sam Weinig.
14880
14881 - fix HTMLViewSourceDocument leaks by breaking a ref cycle which
14882 was fixed in r17249 and re-introduced in r31435.
14883
14884 * html/HTMLViewSourceDocument.cpp:
14885 (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
14886 (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
14887 (WebCore::HTMLViewSourceDocument::addLine):
14888 (WebCore::HTMLViewSourceDocument::addLink):
14889 * html/HTMLViewSourceDocument.h:
14890
weinig@apple.com42d87a62008-10-01 00:39:19 +0000148912008-09-30 Sam Weinig <sam@webkit.org>
14892
14893 Reviewed by Eric Seidel.
14894
14895 More for https://bugs.webkit.org/show_bug.cgi?id=21122
14896 Autogenerate JS event listeners
14897
14898 - Make EventListener getter/setters names in c++ files match those in
14899 JS (ie. onLoadListener -> onload).
14900 - Add standard way to access the frame associated with the EventTarget
14901 for EventListener lookup.
14902 - Autogenerate dispatchEvent, it wasn't doing anything custom.
14903
14904 * bindings/js/JSDOMApplicationCacheCustom.cpp:
14905 (WebCore::JSDOMApplicationCache::mark):
14906 (WebCore::JSDOMApplicationCache::addEventListener):
14907 (WebCore::JSDOMApplicationCache::removeEventListener):
14908 (WebCore::JSDOMApplicationCache::setOnchecking):
14909 (WebCore::JSDOMApplicationCache::onchecking):
14910 (WebCore::JSDOMApplicationCache::setOnerror):
14911 (WebCore::JSDOMApplicationCache::onerror):
14912 (WebCore::JSDOMApplicationCache::setOnnoupdate):
14913 (WebCore::JSDOMApplicationCache::onnoupdate):
14914 (WebCore::JSDOMApplicationCache::setOndownloading):
14915 (WebCore::JSDOMApplicationCache::ondownloading):
14916 (WebCore::JSDOMApplicationCache::setOnprogress):
14917 (WebCore::JSDOMApplicationCache::onprogress):
14918 (WebCore::JSDOMApplicationCache::setOnupdateready):
14919 (WebCore::JSDOMApplicationCache::onupdateready):
14920 (WebCore::JSDOMApplicationCache::setOncached):
14921 (WebCore::JSDOMApplicationCache::oncached):
14922 * bindings/js/JSEventTargetNodeCustom.cpp:
14923 (WebCore::JSEventTargetNode::addEventListener):
14924 (WebCore::JSEventTargetNode::removeEventListener):
14925 (WebCore::JSEventTargetNode::getListener):
14926 (WebCore::JSEventTargetNode::setListener):
14927 * bindings/js/JSMessagePortCustom.cpp:
14928 (WebCore::JSMessagePort::mark):
14929 (WebCore::JSMessagePort::addEventListener):
14930 (WebCore::JSMessagePort::removeEventListener):
14931 (WebCore::JSMessagePort::setOnmessage):
14932 (WebCore::JSMessagePort::onmessage):
14933 (WebCore::JSMessagePort::setOnclose):
14934 (WebCore::JSMessagePort::onclose):
14935 * bindings/js/JSXMLHttpRequestCustom.cpp:
14936 (WebCore::JSXMLHttpRequest::mark):
14937 (WebCore::JSXMLHttpRequest::onreadystatechange):
14938 (WebCore::JSXMLHttpRequest::setOnreadystatechange):
14939 (WebCore::JSXMLHttpRequest::onabort):
14940 (WebCore::JSXMLHttpRequest::setOnabort):
14941 (WebCore::JSXMLHttpRequest::onerror):
14942 (WebCore::JSXMLHttpRequest::setOnerror):
14943 (WebCore::JSXMLHttpRequest::onload):
14944 (WebCore::JSXMLHttpRequest::setOnload):
14945 (WebCore::JSXMLHttpRequest::onloadstart):
14946 (WebCore::JSXMLHttpRequest::setOnloadstart):
14947 (WebCore::JSXMLHttpRequest::onprogress):
14948 (WebCore::JSXMLHttpRequest::setOnprogress):
14949 (WebCore::JSXMLHttpRequest::addEventListener):
14950 (WebCore::JSXMLHttpRequest::removeEventListener):
14951 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
14952 (WebCore::JSXMLHttpRequestUpload::mark):
14953 (WebCore::JSXMLHttpRequestUpload::onabort):
14954 (WebCore::JSXMLHttpRequestUpload::setOnabort):
14955 (WebCore::JSXMLHttpRequestUpload::onerror):
14956 (WebCore::JSXMLHttpRequestUpload::setOnerror):
14957 (WebCore::JSXMLHttpRequestUpload::onload):
14958 (WebCore::JSXMLHttpRequestUpload::setOnload):
14959 (WebCore::JSXMLHttpRequestUpload::onloadstart):
14960 (WebCore::JSXMLHttpRequestUpload::setOnloadstart):
14961 (WebCore::JSXMLHttpRequestUpload::onprogress):
14962 (WebCore::JSXMLHttpRequestUpload::setOnprogress):
14963 (WebCore::JSXMLHttpRequestUpload::addEventListener):
14964 (WebCore::JSXMLHttpRequestUpload::removeEventListener):
14965 * bindings/scripts/CodeGeneratorJS.pm:
14966 * dom/EventTarget.h:
14967 * dom/EventTargetNode.cpp:
14968 (WebCore::EventTargetNode::associatedFrame):
14969 * dom/EventTargetNode.h:
14970 * dom/EventTargetNode.idl:
14971 * dom/MessagePort.cpp:
14972 (WebCore::MessagePort::associatedFrame):
14973 * dom/MessagePort.h:
14974 (WebCore::MessagePort::setOnmessage):
14975 (WebCore::MessagePort::onmessage):
14976 (WebCore::MessagePort::setOnclose):
14977 (WebCore::MessagePort::onclose):
14978 * dom/MessagePort.idl:
14979 * loader/appcache/DOMApplicationCache.h:
14980 (WebCore::DOMApplicationCache::setOnchecking):
14981 (WebCore::DOMApplicationCache::onchecking):
14982 (WebCore::DOMApplicationCache::setOnerror):
14983 (WebCore::DOMApplicationCache::onerror):
14984 (WebCore::DOMApplicationCache::setOnnoupdate):
14985 (WebCore::DOMApplicationCache::onnoupdate):
14986 (WebCore::DOMApplicationCache::setOndownloading):
14987 (WebCore::DOMApplicationCache::ondownloading):
14988 (WebCore::DOMApplicationCache::setOnprogress):
14989 (WebCore::DOMApplicationCache::onprogress):
14990 (WebCore::DOMApplicationCache::setOnupdateready):
14991 (WebCore::DOMApplicationCache::onupdateready):
14992 (WebCore::DOMApplicationCache::setOncached):
14993 (WebCore::DOMApplicationCache::oncached):
14994 (WebCore::DOMApplicationCache::associatedFrame):
14995 * loader/appcache/DOMApplicationCache.idl:
14996 * svg/EventTargetSVGElementInstance.cpp:
14997 (WebCore::EventTargetSVGElementInstance::associatedFrame):
14998 (WebCore::EventTargetSVGElementInstance::addEventListener):
14999 (WebCore::EventTargetSVGElementInstance::removeEventListener):
15000 (WebCore::EventTargetSVGElementInstance::dispatchEvent):
15001 * svg/EventTargetSVGElementInstance.h:
15002 * xml/XMLHttpRequest.cpp:
15003 (WebCore::XMLHttpRequest::associatedFrame):
15004 * xml/XMLHttpRequest.h:
15005 (WebCore::XMLHttpRequest::setOnreadystatechange):
15006 (WebCore::XMLHttpRequest::onreadystatechange):
15007 (WebCore::XMLHttpRequest::setOnabort):
15008 (WebCore::XMLHttpRequest::onabort):
15009 (WebCore::XMLHttpRequest::setOnerror):
15010 (WebCore::XMLHttpRequest::onerror):
15011 (WebCore::XMLHttpRequest::setOnload):
15012 (WebCore::XMLHttpRequest::onload):
15013 (WebCore::XMLHttpRequest::setOnloadstart):
15014 (WebCore::XMLHttpRequest::onloadstart):
15015 (WebCore::XMLHttpRequest::setOnprogress):
15016 (WebCore::XMLHttpRequest::onprogress):
15017 * xml/XMLHttpRequest.idl:
15018 * xml/XMLHttpRequestUpload.cpp:
15019 (WebCore::XMLHttpRequestUpload::associatedFrame):
15020 * xml/XMLHttpRequestUpload.h:
15021 (WebCore::XMLHttpRequestUpload::setOnabort):
15022 (WebCore::XMLHttpRequestUpload::onabort):
15023 (WebCore::XMLHttpRequestUpload::setOnerror):
15024 (WebCore::XMLHttpRequestUpload::onerror):
15025 (WebCore::XMLHttpRequestUpload::setOnload):
15026 (WebCore::XMLHttpRequestUpload::onload):
15027 (WebCore::XMLHttpRequestUpload::setOnloadstart):
15028 (WebCore::XMLHttpRequestUpload::onloadstart):
15029 (WebCore::XMLHttpRequestUpload::setOnprogress):
15030 (WebCore::XMLHttpRequestUpload::onprogress):
15031 * xml/XMLHttpRequestUpload.idl:
15032
darin@apple.com9451b7f2008-10-01 00:38:06 +0000150332008-09-30 Darin Adler <darin@apple.com>
15034
15035 - roll out assertion breaking regression tests
15036
15037 * platform/ScrollView.cpp:
15038 (WebCore::ScrollView::repaintContentRectangle): Temporarily remove assertion
15039 that fires in regression tests. Hyatt can add it back later. The assertion
15040 fires in the regression test because of layout that triggers repaint occuring
15041 during the process of removing a frame.
15042
adele@apple.comed74a6e2008-09-30 23:21:50 +0000150432008-09-30 Adele Peterson <adele@apple.com>
15044
15045 Reviewed by Darin Adler.
15046
15047 Fix for https://bugs.webkit.org/show_bug.cgi?id=21227
15048 <rdar://problem/6222134> add a way to set color for input placeholder text
15049
15050 Test: fast/forms/placeholder-pseudo-style.html
15051
15052 This change adds "-webkit-input-placeholder-mode" as a pseudo class that can be used to style
15053 input elements when they are displaying the placeholder text.
15054
15055 * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Add case for inputPlaceholderMode.
15056 * css/CSSSelector.h: (WebCore::CSSSelector::): Add PseudoInputPlaceholderMode.
15057 * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
15058 Add check for PseudoInputPlaceholderMode that asks the node if placeholderShouldBeVisible is true.
15059 * css/html4.css: Add rule to make placeholder text default to darkGray.
15060
15061 * html/HTMLInputElement.cpp:
15062 (WebCore::HTMLInputElement::init): Initialize m_placeholderShouldBeVisible.
15063 (WebCore::HTMLInputElement::dispatchFocusEvent): Call updatePlaceholderVisibility.
15064 (WebCore::HTMLInputElement::dispatchBlurEvent): ditto.
15065 (WebCore::HTMLInputElement::parseMappedAttribute): ditto.
15066 (WebCore::HTMLInputElement::setValue): ditto.
15067 (WebCore::HTMLInputElement::setValueFromRenderer): ditto.
15068 (WebCore::HTMLInputElement::updatePlaceholderVisibility): Sets m_placeholderShouldBeVisible based on the current value and the focus state.
15069 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
15070 renderer will just ask the node if it should draw the placeholder.
15071 * html/HTMLInputElement.h: (WebCore::HTMLInputElement::placeholderShouldBeVisible):
15072
15073 * rendering/RenderTextControl.cpp:
15074 (WebCore::disabledTextColor): Moved to the top of the file. If there's not very much contrast between the disabled color and the background color,
15075 just leave the text color alone. We don't want to change a good contrast color scheme so that it has really bad contrast.
15076 If the the contrast was already poor, then it doesn't do any good to change it to a different poor contrast color scheme.
15077 (WebCore::RenderTextControl::createInnerTextStyle): If the node says the placeholder should be visible, prepare by overriding the text security to be "none".
15078 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
15079 is called directly from updateFromElement. updateFromElement will immediately update the text displayed.
15080 (WebCore::RenderTextControl::updateFromElement): If the placeholder visibility has changed, update the text that is displayed.
15081 (WebCore::RenderTextControl::forwardEvent): Remove calls to update the placeholder state. This is now done in HTMLInputElement.
15082 * rendering/RenderTextControl.h:
15083
bdakin@apple.com31845c52008-09-30 23:19:53 +0000150842008-09-30 Beth Dakin <bdakin@apple.com>
15085
15086 Reviewed by Darin Adler.
15087
15088 Fix for https://bugs.webkit.org/show_bug.cgi?id=20396 Abort caused
15089 by failed allocation due to invalid counter/attr
15090 and corresponding: <rdar://problem/6152371>
15091
15092 * css/CSSParser.cpp:
15093 (WebCore::CSSParser::parseCounterContent): The spec indicates that
15094 only identifiers should be accepted here.
15095
kmccullough@apple.com86834eb2008-09-30 22:31:46 +0000150962008-09-30 Kevin McCullough <kmccullough@apple.com>
15097
kmccullough@apple.com88219342008-09-30 22:33:30 +000015098 Reviewed by Oliver Hunt.
15099
15100 Bug 21255: console.profileEnd() without a console.profile() crashes the
15101 web inspector
15102
15103 * page/Console.cpp:
15104 (WebCore::Console::profileEnd):
15105
151062008-09-30 Kevin McCullough <kmccullough@apple.com>
15107
kmccullough@apple.com86834eb2008-09-30 22:31:46 +000015108 Reviewed by Tim Hatcher.
15109
15110 Bug 21252: calling console.profile() with a title that is 2 chars or
15111 shorter does not linkify it
15112
15113 - Previously we tried to not linkify very short URLs but since profile
15114 titles can be any length this is not always true.
15115
15116 * page/inspector/inspector.js:
15117
hyatt@apple.comda9b3072008-09-30 21:30:56 +0000151182008-09-30 Dave Hyatt <hyatt@apple.com>
15119
15120 Remove the update() method on ScrollView. This method was only called in one place, and its purpose
15121 was to cause a display/flush to happen. Here is a breakdown of the method use on each platform:
15122 (1) Not used on Mac
15123 (2) Used on Windows
15124 (3) Used on Qt, but implemented incorrectly to cause a full repaint for no reason.
15125 (4) Used on Gtk, but implemented incorrectly to cause a full repaint for no reason.
15126 (5) Used on wx, but probably not needed (since wx has platform widgets like Mac).
15127
15128 There is now a paint method on HostWindow that does an immediate mode repaint of an empty rect to
15129 cause the display/flush to happen if needed (thus saving an extra method on ChromeClient).
15130 With the changes to this method, the new behavior is as follows:
15131 (1) Not used on Mac
15132 (2) Used on Windows
15133 (3) Nothing happens on Qt, but only because they have not implemented immediate mode updating.
15134 (4) Gtk now behaves like Windows and will process updates but not do any incorrect additional invalidation.
15135 (5) Not used on wx
15136
15137 This method was originally added for Windows. It's not clear the display/flush is really even necessary on the other
15138 platforms. At the very least stopping unnecessary full invalidations on Qt/Gtk is a good thing. :)
15139
15140 Reviewed by Sam Weinig
15141
15142 * ChangeLog:
15143 * dom/Document.cpp:
15144 (WebCore::Document::implicitClose):
15145 * platform/HostWindow.h:
15146 (WebCore::HostWindow::paint):
15147 * platform/ScrollView.h:
15148 * platform/gtk/ScrollViewGtk.cpp:
15149 * platform/mac/ScrollViewMac.mm:
15150 * platform/qt/ScrollViewQt.cpp:
15151 * platform/win/ScrollViewWin.cpp:
15152 * platform/wx/ScrollViewWx.cpp:
15153
timothy@apple.com92560da2008-09-30 20:57:49 +0000151542008-09-30 Timothy Hatcher <timothy@apple.com>
15155
timothy@apple.com26fefbf2008-09-30 20:57:55 +000015156 Focus the DOM tree in the Web Inspector when a node is inspected.
15157 So when the search field has focus, the focus moves to the tree,
15158 allowing the arrow keys work. This can happen when using the new
15159 find in page feature.
15160
15161 https://bugs.webkit.org/show_bug.cgi?id=21251
15162
15163 Reviewed by Geoff Garen.
15164
15165 * page/inspector/ElementsPanel.js:
15166 (WebInspector.ElementsPanel): Set currentFocusElement to
15167 the main-panels element if the panel is visible.
15168 (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
15169 Remove a set of currentFocusElement since this moved.
15170 * page/inspector/inspector.js:
15171 (WebInspector.set currentFocusElement): Always focus the element.
15172 This ensures that when focus changes in the page and we don't
15173 catch it, we will still focus the elements even if we think it
15174 was already focused.
15175
151762008-09-30 Timothy Hatcher <timothy@apple.com>
15177
timothy@apple.com92560da2008-09-30 20:57:49 +000015178 Make the Web Inspector's toolbar icons darker when the mouse is
15179 pressed on them. This matches the standard NSToolbar look.
15180
15181 https://bugs.webkit.org/show_bug.cgi?id=21249
15182 rdar://problem/6033752
15183
15184 Reviewed by Adam Roben.
15185
15186 * page/inspector/Images/databasesIcon.png:
15187 * page/inspector/Images/elementsIcon.png:
15188 * page/inspector/Images/profilesIcon.png:
15189 * page/inspector/Images/resourcesIcon.png:
15190 * page/inspector/Images/scriptsIcon.png:
15191 * page/inspector/Panel.js:
15192 * page/inspector/inspector.css:
15193
kmccullough@apple.com622724e2008-09-30 20:26:29 +0000151942008-09-30 Kevin McCullough <kmccullough@apple.com>
15195
15196 Reviewed by Tim Hatcher.
15197
15198 Bug 21139: Profiler log message is wrong
15199 - Correctly fix =(
15200 Don't call _format twice.
15201
15202 * page/Page.h:
15203 * page/inspector/Console.js:
15204 * page/inspector/ProfilesPanel.js:
15205 * page/inspector/inspector.js:
15206
hyatt@apple.com70936b52008-09-30 20:09:42 +0000152072008-09-30 Dave Hyatt <hyatt@apple.com>
15208
15209 http://bugs.webkit.org/show_bug.cgi?id=21250
15210
15211 Rename updateContents to repaintContentRectangle and make it cross-platform by always sending
15212 repaints up through the ChromeClient.
15213
15214 Reviewed by Darin Adler
15215
15216 * loader/EmptyClients.h:
15217 (WebCore::EmptyChromeClient::repaint):
15218 * page/Chrome.cpp:
15219 (WebCore::Chrome::repaint):
15220 * page/Chrome.h:
15221 * page/ChromeClient.h:
15222 * page/FrameView.cpp:
15223 (WebCore::FrameView::hostWindow):
15224 (WebCore::FrameView::repaintContentRectangle):
15225 * page/FrameView.h:
15226 * platform/HostWindow.h:
15227 * platform/ScrollView.cpp:
15228 (WebCore::ScrollView::repaintContentRectangle):
15229 (WebCore::ScrollView::platformRepaintContentRectangle):
15230 * platform/ScrollView.h:
15231 * platform/gtk/ScrollViewGtk.cpp:
15232 * platform/mac/ScrollViewMac.mm:
15233 (WebCore::ScrollView::platformRepaintContentRectangle):
15234 * platform/qt/ScrollViewQt.cpp:
15235 * platform/win/ScrollViewWin.cpp:
15236 * platform/wx/ScrollViewWx.cpp:
15237 (WebCore::ScrollView::platformRepaintContentRectangle):
15238
ap@webkit.org8b67da02008-09-30 17:58:10 +0000152392008-09-30 Alexey Proskuryakov <ap@webkit.org>
15240
15241 Non-Mac build fixes.
15242
15243 * GNUmakefile.am:
15244 * WebCore.pro:
15245 * WebCore.vcproj/WebCore.vcproj:
15246 * WebCoreSources.bkl:
15247 * webcore-base.bkl:
15248 Added DOMProtect.{cpp,h}.
15249
kdecker@apple.comdafe5102008-09-30 17:40:02 +0000152502008-09-39 Kevin Decker <kdecker@apple.com>
15251
15252 Reviewed by John Sullivan.
15253
15254 * bridge/npapi.h: Added skeleton for a new plug-in drawing model, the NPCoreAnimationDrawingModel. This model will eventually pave the way
15255 for hardware accelerated drawing in plug-ins and out of process plug-in rendering.
15256
jchaffraix@webkit.org70abf6f2008-09-30 17:05:20 +0000152572008-09-29 Julien Chaffraix <jchaffraix@webkit.org>
15258
15259 Reviewed by Maciej Stachowiak.
15260
15261 Bug 21106: .in format discussed changes
15262 https://bugs.webkit.org/show_bug.cgi?id=21106
15263
15264 - Removed "cppNamespace" global parameter and hard-coded "WebCore" as it
15265 is the only namespace used.
15266
15267 - Removed "generateFactory" and "generateWrapperFactory" parameters and
15268 re-introduced the command line options.
15269
15270 - Cleaned up the output of make_names.pl (removed unneeded new line).
15271
15272 * DerivedSources.make: Added factories command line options.
15273 * GNUmakefile.am: Ditto.
15274 * WebCore.pro: Ditto and removed some arguments that were migrated to
15275 the .in files.
15276
15277 * dom/make_names.pl: Clean up (see above).
15278
15279 * html/HTMLAttributeNames.in: Removed "cppNamespace", "generateFactory"
15280 and "generateWrapperFactory" occurences.
15281 * html/HTMLTagNames.in: Ditto.
15282 * svg/svgattrs.in: Ditto.
15283 * svg/svgtags.in: Ditto.
15284 * svg/xlinkattrs.in: Ditto.
15285 * xml/xmlattrs.in: Ditto.
15286
cfleizach@apple.com576ca0a2008-09-30 16:19:01 +0000152872008-09-29 Chris Fleizach <cfleizach@apple.com>
15288
15289 Reviewed by John Sullivan.
15290
15291 <rdar://problem/6255456> AX: <file> input button shouldn't have children exposed
15292 Make sure that certain types of elements do not return children and, moreover, do not waste their
15293 energy trying to return children
15294
15295 Test: accessibility/nochildren-elements.html
15296
15297 * page/AccessibilityObject.h:
15298 (WebCore::AccessibilityObject::canHaveChildren):
15299 * page/AccessibilityRenderObject.cpp:
15300 (WebCore::AccessibilityRenderObject::canHaveChildren):
15301 (WebCore::AccessibilityRenderObject::addChildren):
15302 * page/AccessibilityRenderObject.h:
15303
ap@webkit.orga0c037c2008-09-30 15:52:06 +0000153042008-09-30 Alexey Proskuryakov <ap@webkit.org>
15305
15306 Reviewed by Sam Weinig.
15307
15308 https://bugs.webkit.org/show_bug.cgi?id=21213
15309 MessagePort crash when GC collects an object with a pending close event
15310
15311 Test: fast/events/message-channel-gc-2.html
15312 fast/events/message-channel-listener-circular-ownership.html
15313
15314 * bindings/DOMProtect.cpp: Added.
15315 (WebCore::gcProtectDOMObject):
15316 (WebCore::gcUnprotectDOMObject):
15317 * bindings/DOMProtect.h: Added.
15318 Added an abstraction for GC protection to avoid the need to call JS bindings code from
15319 DOM objects directly.
15320
15321 * dom/MessagePort.cpp:
15322 (WebCore::CloseMessagePortTimer::fired):
15323 (WebCore::MessagePort::queueCloseEvent):
15324 GC protect MessagePort wrapper while there is a pending close event.
15325 This may be necessary for message events, too, but that case is not a crasher, and actually
15326 behaves to the letter of the current HTML5 text, so I'll consider it later.
15327
15328 * xml/XMLHttpRequest.cpp:
15329 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
15330 (WebCore::XMLHttpRequest::dropProtection):
15331 Use gcProtectDOMObject here, too. Unfortunately, XMLHttpRequest has more dependencies on JSC.
15332
15333 * bindings/js/JSMessagePortCustom.cpp:
15334 (WebCore::JSMessagePort::addEventListener):
15335 (WebCore::JSMessagePort::removeEventListener):
15336 (WebCore::JSMessagePort::setOnmessage):
15337 (WebCore::JSMessagePort::setOnclose):
15338 Don't tell DOMWindowBase that MessagePort is a NodeEventTarget, this is not true. I do not
15339 know if this was causing any real issues, but we shouldn't lie to DOMWindowBase.
15340
15341 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
15342 (WebCore::JSXMLHttpRequestUpload::mark):
15343 While at it, changed to use a typedef for event listeners from XMLHttpRequestUpload, not
15344 from XMLHttpRequest.
15345
aroben@apple.comd2272012008-09-30 14:17:28 +0000153462008-09-30 Adam Roben <aroben@apple.com>
15347
15348 Windows build fix
15349
15350 * DerivedSources.cpp: Add JSEventTargetNode.cpp.
15351
weinig@apple.comd516a572008-09-30 07:01:45 +0000153522008-09-29 Sam Weinig <sam@webkit.org>
15353
15354 Reviewed by Tim Hatcher.
15355
15356 Patch for https://bugs.webkit.org/show_bug.cgi?id=21122
15357 Autogenerate JS event listeners
15358
15359 - Generate EventTargetNode.
15360
15361 * DerivedSources.make:
15362 * GNUmakefile.am:
15363 * WebCore.pro:
15364 * WebCore.vcproj/WebCore.vcproj:
15365 * WebCore.xcodeproj/project.pbxproj:
15366 * WebCoreSources.bkl:
15367 * bindings/js/JSEventListener.cpp:
15368 * bindings/js/JSEventTarget.cpp: Added.
15369 (WebCore::toJS):
15370 * bindings/js/JSEventTarget.h: Added.
15371 * bindings/js/JSEventTargetBase.cpp: Removed.
15372 * bindings/js/JSEventTargetBase.h:
15373 * bindings/js/JSEventTargetNode.cpp: Removed.
15374 * bindings/js/JSEventTargetNode.h: Removed.
15375 * bindings/js/JSEventTargetNodeCustom.cpp: Added.
15376 (WebCore::JSEventTargetNode::addEventListener):
15377 (WebCore::JSEventTargetNode::removeEventListener):
15378 (WebCore::JSEventTargetNode::dispatchEvent):
15379 (WebCore::JSEventTargetNode::getListener):
15380 (WebCore::JSEventTargetNode::setListener):
15381 (WebCore::JSEventTargetNode::pushEventHandlerScope):
15382 * bindings/js/JSEventTargetSVGElementInstance.cpp:
15383 (WebCore::):
15384 (WebCore::JSEventTargetSVGElementInstancePrototype::self):
15385 (WebCore::JSEventTargetSVGElementInstancePrototype::getOwnPropertySlot):
15386 (jsEventTargetAddEventListener):
15387 (jsEventTargetRemoveEventListener):
15388 (jsEventTargetDispatchEvent):
15389 * bindings/js/JSEventTargetSVGElementInstance.h:
15390 (WebCore::JSEventTargetSVGElementInstancePrototype::JSEventTargetSVGElementInstancePrototype):
15391 (WebCore::JSEventTargetSVGElementInstancePrototype::classInfo):
15392 * bindings/scripts/CodeGeneratorJS.pm:
15393 * dom/EventTargetNode.idl: Added.
15394
darin@apple.com8d35fe02008-09-30 01:14:26 +0000153952008-09-29 Darin Adler <darin@apple.com>
15396
15397 Reviewed by Sam Weinig.
15398
15399 - https://bugs.webkit.org/show_bug.cgi?id=21214
15400 work on getting rid of ExecState
15401
15402 * bindings/js/JSDOMWindowBase.cpp:
15403 (WebCore::JSDOMWindowBase::JSDOMWindowBase): Removed globalThisValue argument
15404 for base class constructor.
15405
hyatt@apple.com4ba85692008-09-30 00:42:25 +0000154062008-09-29 David Hyatt <hyatt@apple.com>
15407
15408 Add the new HostWindow base class. A HostWindow hosts a hierarchy of Widgets. The Chrome object on Page
15409 now subclasses from HostWindow. The new class will allow objects in platform/ like Widgets, Scrollbars
15410 and ScrollViews to talk to the HostWindow object in order to do backing store operations and invalidations.
15411 (Right now the platform layering is simply being violated by ScrollViews going directly to the ChromeClient.)
15412
15413 Reviewed by Sam Weinig
15414
15415 * WebCore.xcodeproj/project.pbxproj:
15416 * page/Chrome.h:
15417 * platform/HostWindow.h: Added.
15418 (WebCore::HostWindow::HostWindow):
15419 (WebCore::HostWindow::~HostWindow):
15420
kdecker@apple.com0a129d72008-09-30 00:17:15 +0000154212008-09-29 Kevin Decker <kdecker@apple.com>
15422
15423 Reviewed by Anders Carlsson.
15424
15425 * bridge/npapi.h: Tweaked NPNVariable enum. NPNVsupportsCocoaBool, NPNVsupportsCarbonBool are now in the 3000 range instead of
15426 2000.
15427
mitz@apple.comd58d8382008-09-29 23:42:38 +0000154282008-09-29 Dan Bernstein <mitz@apple.com>
15429
15430 Reviewed by Adam Roben.
15431
15432 - WebCore part of fixing <rdar://problem/6247906> REGRESSION (r19500): Crash on quit beneath CloseThemeData
15433
15434 * rendering/RenderThemeWin.cpp:
15435 (WebCore::RenderThemeWin::setWebKitIsBeingUnloaded): Added.
15436 (WebCore::RenderThemeWin::~RenderThemeWin): Check if WebKit is being
15437 unloaded, to avoid calling uxtheme.dll functions after that library has
15438 been unloaded.
15439 * rendering/RenderThemeWin.h:
15440
cfleizach@apple.comb136d2c2008-09-29 23:10:03 +0000154412008-09-29 Chris Fleizach <cfleizach@apple.com>
15442
15443 Reviewed by John Sullivan
15444
15445 <rdar://problem/6240743> AXLoadComplete is sent for non-top level web areas and bogus web areas
15446
15447 Sends AXLoadComplete only when the top level web area is finished loading
15448
15449 * dom/Document.cpp:
15450 (WebCore::Document::implicitClose):
15451
timothy@apple.com96fff242008-09-29 22:34:10 +0000154522008-09-29 Timothy Hatcher <timothy@apple.com>
15453
15454 Makes the node highlight always show up when hovering a node in
15455 the Web Inspector now that the highlight does not scroll to reveal
15456 the node. Also adds a hover effect in the inspector when hovering
15457 causes a highlight in the page. This ties the user hovering action
15458 to the highlight so it is clear what causes the highlight to appear.
15459
15460 Also the highlight now temporarily shows up for 2 seconds after
15461 selecting a node in the DOM tree. So arrowing around in the tree
15462 will show the node on the page, providing feedback to the user.
15463
15464 Plus fixes an issue where quickly moving away from hovering
15465 a node would keep showing the page highlight. This was happening
15466 in breadcrumbs and the DOM tree.
15467
15468 https://bugs.webkit.org/show_bug.cgi?id=21220
15469
15470 Reviewed by Kevin McCullough.
15471
15472 * page/inspector/Console.js:
15473 (WebInspector.Console.prototype._mouseOverNode): Added. Used for
15474 hovering DOM nodes in the console.
15475 (WebInspector.Console.prototype._mouseOutOfNode): Ditto.
15476 (WebInspector.Console.prototype._formatnode): Use the new event
15477 listeners and add a class name to the anchor element.
15478 * page/inspector/ElementsPanel.js:
15479 (WebInspector.ElementsPanel): Add new event listeners to the
15480 crumbs element to do the node hovering highlight.
15481 (WebInspector.ElementsPanel.prototype.hide):
15482 (WebInspector.ElementsPanel.prototype.reset):
15483 (WebInspector.ElementsPanel.prototype._mouseMovedInCrumbs):
15484 (WebInspector.ElementsPanel.prototype._mouseMovedOutOfCrumbs):
15485 (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
15486 * page/inspector/ElementsTreeOutline.js:
15487 (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
15488 Show the node hishlight for 2 seconds then restore the highlight
15489 to the current hovered node.
15490 (WebInspector.ElementsTreeOutline.prototype._onmousemove): Set the
15491 hovered node and set the hovered state on the tree element.
15492 (WebInspector.ElementsTreeOutline.prototype._onmouseout): Set the
15493 hovered node to null and removed the hovered state from the previous
15494 hovered tree element.
15495 (WebInspector.ElementsTreeElement.prototype.set/get hovered): Adds
15496 the hovered class to the list item.
15497 (WebInspector.ElementsTreeElement.prototype.onattach): Ditto.
15498 * page/inspector/inspector.css:
15499 * page/inspector/inspector.js:
15500 (WebInspector.set hoveredDOMNode): Pass a delay to _updateHoverHighlightSoon
15501 based on the showingDOMNodeHighlight property of 50ms or 500ms. This
15502 causes the highlight to change sooner if there is one already showing
15503 and appear later if there isn't one showing. This is like tooltips,
15504 hovering a node for 500ms will cause highlight then mousing between nodes
15505 will keep the highlight and change to the new node.
15506 (WebInspector._updateHoverHighlightSoon): Take a delay being passed in and
15507 always reset the timeout so continuous mousing does not keep flasshing
15508 the highlight on the screen.
15509 (WebInspector._updateHoverHighlight): Removed the alt key check and added
15510 the showingDOMNodeHighlight property.
15511 (WebInspector.documentKeyDown): Removed the alt key check.
15512 (WebInspector.documentKeyUp): Ditto.
15513 (WebInspector.reset): Clear the hoveredDOMNode.
15514
simon.fraser@apple.com8a565532008-09-29 22:04:38 +0000155152008-09-29 Simon Fraser <simon.fraser@apple.com>
15516
15517 Reviewed by Anders Carlsson
15518
15519 Fix RenderStyle leak in animation code, and assert that
15520 keyframe resolution in CSSStyleSelector is not going to clobber
15521 m_style.
15522
15523 * css/CSSStyleSelector.cpp:
15524 (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
15525 * page/animation/KeyframeAnimation.cpp:
15526 (WebCore::KeyframeAnimation::~KeyframeAnimation):
15527
simon.fraser@apple.comfd48da22008-09-29 21:18:07 +0000155282008-09-29 Chris Marrin <cmarrin@apple.com>
15529
simon.fraser@apple.come979de02008-09-29 21:31:26 +000015530 Reviewed by Dave Hyatt
15531
15532 Fixed https://bugs.webkit.org/show_bug.cgi?id=20995
15533 Rewrite keyframe resolution to be like styleForElement()
15534
15535 Test: animations/lineheight-animation.html
15536
15537 * css/CSSStyleSelector.cpp:
15538 (WebCore::CSSStyleSelector::addKeyframeStyle):
15539 (WebCore::CSSStyleSelector::~CSSStyleSelector):
15540 (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
15541 (WebCore::CSSRuleSet::addRulesFromSheet):
15542 (WebCore::CSSStyleSelector::mapAnimationName):
15543 * css/CSSStyleSelector.h:
15544 * page/animation/CompositeAnimation.cpp:
15545 (WebCore::CompositeAnimation::updateKeyframeAnimations):
15546 * page/animation/KeyframeAnimation.cpp:
15547 (WebCore::KeyframeAnimation::KeyframeAnimation):
15548 (WebCore::KeyframeAnimation::animate):
15549 (WebCore::KeyframeAnimation::hasAnimationForProperty):
15550 (WebCore::KeyframeAnimation::sendAnimationEvent):
15551 (WebCore::KeyframeAnimation::overrideAnimations):
15552 (WebCore::KeyframeAnimation::resumeOverriddenAnimations):
15553 (WebCore::KeyframeAnimation::affectsProperty):
15554 (WebCore::KeyframeAnimation::validateTransformFunctionList):
15555 * page/animation/KeyframeAnimation.h:
15556 * rendering/style/Animation.cpp:
15557 (WebCore::Animation::animationsMatch):
15558 * rendering/style/Animation.h:
15559 * rendering/style/KeyframeList.cpp:
15560 (WebCore::KeyframeList::~KeyframeList):
15561 (WebCore::KeyframeList::clear):
15562 (WebCore::KeyframeList::insert):
15563 * rendering/style/KeyframeList.h:
15564 (WebCore::KeyframeValue::KeyframeValue):
15565 (WebCore::KeyframeList::KeyframeList):
15566 (WebCore::KeyframeList::operator!=):
15567 (WebCore::KeyframeList::animationName):
15568 (WebCore::KeyframeList::addProperty):
15569 (WebCore::KeyframeList::containsProperty):
15570 (WebCore::KeyframeList::beginProperties):
15571 (WebCore::KeyframeList::endProperties):
15572 (WebCore::KeyframeList::isEmpty):
15573 (WebCore::KeyframeList::size):
15574 (WebCore::KeyframeList::beginKeyframes):
15575 (WebCore::KeyframeList::endKeyframes):
15576 * rendering/style/RenderStyle.h:
15577 * rendering/style/StyleRareNonInheritedData.cpp:
15578 * rendering/style/StyleRareNonInheritedData.h:
15579
155802008-09-29 Chris Marrin <cmarrin@apple.com>
15581
simon.fraser@apple.comd63ba9a2008-09-29 21:21:38 +000015582 Reviewed by Eric Seidel
15583
simon.fraser@apple.comff913022008-09-29 21:24:52 +000015584 Clean up fix in PropertyWrapperGetter::equals
15585 https://bugs.webkit.org/show_bug.cgi?id=21011
15586
15587 Test: transitions/override-transition-crash.html
15588
15589 * page/animation/AnimationBase.cpp:
15590 (WebCore::PropertyWrapperGetter::equals):
15591 * page/animation/CompositeAnimation.cpp:
15592 (WebCore::CompositeAnimation::updateTransitions):
15593
155942008-09-29 Chris Marrin <cmarrin@apple.com>
15595
15596 Reviewed by Eric Seidel
15597
simon.fraser@apple.comd63ba9a2008-09-29 21:21:38 +000015598 https://bugs.webkit.org/show_bug.cgi?id=21001
15599 Starting transition after animation, when animation
15600 is finished, transition is wrong.
15601
15602 Test: animations/transition-and-animation-2.html
15603
15604 * page/animation/AnimationBase.h:
15605 * page/animation/CompositeAnimation.cpp:
15606 (WebCore::CompositeAnimation::updateTransitions):
15607 (WebCore::CompositeAnimation::updateKeyframeAnimations):
15608 (WebCore::CompositeAnimation::resetTransitions):
15609 (WebCore::CompositeAnimation::cleanupFinishedAnimations):
15610 * page/animation/ImplicitAnimation.cpp:
15611 (WebCore::ImplicitAnimation::ImplicitAnimation):
15612 (WebCore::ImplicitAnimation::~ImplicitAnimation):
15613 (WebCore::ImplicitAnimation::animate):
15614 (WebCore::ImplicitAnimation::reset):
15615 * page/animation/ImplicitAnimation.h:
15616
156172008-09-29 Chris Marrin <cmarrin@apple.com>
15618
simon.fraser@apple.comfd48da22008-09-29 21:18:07 +000015619 Reviewed by Sam Weinig
15620
15621 https://bugs.webkit.org/show_bug.cgi?id=20921
15622 -webkit-animation-timing-function: inside of keyframes is ignored
15623
15624 Test: animations/keyframe-timing-functions.html
15625
15626 * page/animation/AnimationBase.cpp:
15627 (WebCore::AnimationBase::progress):
15628 * page/animation/AnimationBase.h:
15629 * page/animation/ImplicitAnimation.cpp:
15630 (WebCore::ImplicitAnimation::animate):
15631 * page/animation/KeyframeAnimation.cpp:
15632 (WebCore::KeyframeAnimation::animate):
15633
mitz@apple.com2449a052008-09-29 20:57:33 +0000156342008-09-29 Dan Bernstein <mitz@apple.com>
15635
mitz@apple.com9a3e3c82008-09-29 21:04:54 +000015636 - Windows build fix
15637
15638 * platform/ScrollView.cpp:
15639 (WebCore::ScrollView::platformScroll):
15640
156412008-09-29 Dan Bernstein <mitz@apple.com>
15642
mitz@apple.com2449a052008-09-29 20:57:33 +000015643 - another attempt at a Windows build fix
15644
15645 * platform/ScrollView.cpp:
15646 (WebCore::platformScroll):
15647
156482008-09-29 Dan Bernstein <mitz@apple.com>
mitz@apple.comad171f12008-09-29 20:52:19 +000015649
15650 - Windows build fix
15651
15652 * platform/ScrollView.cpp:
15653 (WebCore::ScrollView::platformSetScrollPosition):
15654
hyatt@apple.com90abd562008-09-29 19:46:37 +0000156552008-09-29 David Hyatt <hyatt@apple.com>
15656
hyatt@apple.com4ce2a1d2008-09-29 20:09:59 +000015657 https://bugs.webkit.org/show_bug.cgi?id=21218
15658
15659 Accidentally removed a check to see if the scrollbar modes were equal. This caused a crash on Windows.
15660 It's silly that the code was this fragile, but for now just put the check back in.
15661
15662 Reviewed by Dan Bernstein
15663
15664 * platform/ScrollView.cpp:
15665 (WebCore::ScrollView::setScrollbarModes):
15666
156672008-09-29 David Hyatt <hyatt@apple.com>
15668
hyatt@apple.com90abd562008-09-29 19:46:37 +000015669 https://bugs.webkit.org/show_bug.cgi?id=21216
15670
15671 Make setScrollPosition and scroll() cross-platform.
15672
15673 Reviewed by Anders
15674
15675 * platform/ScrollView.cpp:
15676 (WebCore::ScrollView::setScrollPosition):
15677 (WebCore::ScrollView::scroll):
15678 * platform/ScrollView.h:
15679 * platform/gtk/ScrollViewGtk.cpp:
15680 * platform/mac/ScrollViewMac.mm:
15681 (WebCore::ScrollView::platformSetScrollPosition):
15682 (WebCore::ScrollView::platformScroll):
15683 * platform/qt/ScrollViewQt.cpp:
15684 * platform/win/ScrollViewWin.cpp:
15685 * platform/wx/ScrollViewWx.cpp:
15686 (WebCore::ScrollView::platformSetScrollPosition):
15687 (WebCore::ScrollView::platformScroll):
15688
kmccullough@apple.comed371682008-09-29 19:09:44 +0000156892008-09-29 Kevin McCullough <kmccullough@apple.com>
15690
15691 Reviewed by Oliver.
15692
15693 Bug 21139: Profiler log message is wrong
15694 - Because _format was called twice the number in the log was incremented
15695 too many times, but we were passing it around in the link the whole time
15696
15697 * page/inspector/ProfilesPanel.js:
15698 * page/inspector/inspector.js:
15699
weinig@apple.com7f3f95f2008-09-29 19:09:02 +0000157002008-09-29 Sam Weinig <sam@webkit.org>
15701
15702 Reviewed by Cameron Zwarich.
15703
15704 Autogenerate EventListeners, addEventListener and removeEventListener
15705 for JSDOMWindow.
15706
15707 * bindings/js/JSDOMWindowBase.cpp:
15708 * bindings/js/JSDOMWindowBase.h:
15709 * bindings/js/JSDOMWindowCustom.cpp:
15710 (WebCore::JSDOMWindow::onwebkitanimationstart):
15711 (WebCore::JSDOMWindow::setOnwebkitanimationstart):
15712 (WebCore::JSDOMWindow::onwebkitanimationiteration):
15713 (WebCore::JSDOMWindow::setOnwebkitanimationiteration):
15714 (WebCore::JSDOMWindow::onwebkitanimationend):
15715 (WebCore::JSDOMWindow::setOnwebkitanimationend):
15716 (WebCore::JSDOMWindow::onwebkittransitionend):
15717 (WebCore::JSDOMWindow::setOnwebkittransitionend):
15718 (WebCore::JSDOMWindow::addEventListener):
15719 (WebCore::JSDOMWindow::removeEventListener):
15720 (WebCore::JSDOMWindow::setListener):
15721 (WebCore::JSDOMWindow::getListener):
15722 * bindings/scripts/CodeGeneratorJS.pm:
15723 * page/DOMWindow.idl:
15724
hausmann@webkit.orgf6964472008-09-29 12:47:08 +0000157252008-09-29 Thiago Macieira <thiago.macieira@nokia.com>
15726
15727 Reviewed by Simon.
15728
15729 Changed copyright from Trolltech ASA to Nokia.
15730
15731 Nokia acquired Trolltech ASA, assets were transferred on September 26th 2008.
15732
15733 * bindings/js/JSMimeTypeArrayCustom.cpp:
15734 * bindings/js/JSNavigatorCustom.cpp:
15735 * bindings/js/JSPluginArrayCustom.cpp:
15736 * bindings/js/JSPluginCustom.cpp:
15737 * bindings/js/ScriptControllerMac.mm:
15738 * bindings/js/ScriptControllerQt.cpp:
15739 * bridge/qt/qt_class.cpp:
15740 * bridge/qt/qt_class.h:
15741 * bridge/qt/qt_instance.cpp:
15742 * bridge/qt/qt_instance.h:
15743 * bridge/qt/qt_runtime.cpp:
15744 * bridge/qt/qt_runtime.h:
15745 * bridge/testqtbindings.cpp:
15746 * css/makegrammar.pl:
15747 * css/makeprop.pl:
15748 * css/makevalues.pl:
15749 * dom/Node.cpp:
15750 * dom/TagNodeList.cpp:
15751 * dom/TagNodeList.h:
15752 * dom/XMLTokenizer.cpp:
15753 * dom/XMLTokenizer.h:
15754 * dom/XMLTokenizerLibxml2.cpp:
15755 * dom/XMLTokenizerQt.cpp:
15756 * editing/Editor.cpp:
15757 * editing/EditorCommand.cpp:
15758 * html/CanvasRenderingContext2D.cpp:
15759 * html/CanvasStyle.cpp:
15760 * html/HTMLAppletElement.cpp:
15761 * html/HTMLEmbedElement.cpp:
15762 * html/HTMLObjectElement.cpp:
15763 * loader/FrameLoader.cpp:
15764 * page/Chrome.cpp:
15765 * page/EditorClient.h:
15766 * page/Frame.cpp:
15767 * page/Frame.h:
15768 * page/FramePrivate.h:
15769 * page/Navigator.cpp:
15770 * page/Navigator.h:
15771 * page/Navigator.idl:
15772 * page/mac/FrameMac.mm:
15773 * page/qt/EventHandlerQt.cpp:
15774 * platform/graphics/qt/FontCacheQt.cpp:
15775 * platform/graphics/qt/FontCustomPlatformData.cpp:
15776 * platform/graphics/qt/FontCustomPlatformData.h:
15777 * platform/graphics/qt/FontPlatformData.h:
15778 * platform/graphics/qt/FontQt.cpp:
15779 * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
15780 * platform/graphics/qt/GraphicsContextQt.cpp:
15781 * platform/graphics/qt/ImageDecoderQt.cpp:
15782 * platform/graphics/qt/ImageDecoderQt.h:
15783 * platform/graphics/qt/ImageSourceQt.cpp:
15784 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
15785 * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
15786 * platform/graphics/qt/SimpleFontDataQt.cpp:
15787 * platform/gtk/MIMETypeRegistryGtk.cpp:
15788 * platform/mac/MIMETypeRegistryMac.mm:
15789 * platform/network/qt/QNetworkReplyHandler.cpp:
15790 * platform/network/qt/QNetworkReplyHandler.h:
15791 * platform/network/qt/ResourceHandleQt.cpp:
15792 * platform/network/qt/ResourceRequestQt.cpp:
15793 * platform/qt/ClipboardQt.cpp:
15794 * platform/qt/EventLoopQt.cpp:
15795 * platform/qt/KURLQt.cpp:
15796 * platform/qt/LoggingQt.cpp:
15797 * platform/qt/MIMETypeRegistryQt.cpp:
15798 * platform/qt/PasteboardQt.cpp:
15799 * platform/qt/PlatformScreenQt.cpp:
15800 * platform/qt/PopupMenuQt.cpp:
15801 * platform/qt/QWebPopup.cpp:
15802 * platform/qt/QWebPopup.h:
15803 * platform/qt/RenderThemeQt.cpp:
15804 * platform/qt/ScrollbarQt.cpp:
15805 * platform/qt/ScrollbarThemeQt.cpp:
15806 * platform/qt/WheelEventQt.cpp:
15807 * platform/qt/html4-adjustments-qt.css:
15808 * platform/wx/MimeTypeRegistryWx.cpp:
15809 * plugins/MimeType.cpp:
15810 * plugins/MimeType.h:
15811 * plugins/MimeType.idl:
15812 * plugins/MimeTypeArray.cpp:
15813 * plugins/MimeTypeArray.h:
15814 * plugins/MimeTypeArray.idl:
15815 * plugins/Plugin.cpp:
15816 * plugins/Plugin.h:
15817 * plugins/Plugin.idl:
15818 * plugins/PluginArray.cpp:
15819 * plugins/PluginArray.h:
15820 * plugins/PluginArray.idl:
15821 * plugins/PluginData.cpp:
15822 * plugins/PluginData.h:
15823 * plugins/gtk/PluginDataGtk.cpp:
15824 * plugins/mac/PluginDataMac.mm:
15825 * plugins/qt/PluginDataQt.cpp:
15826 * plugins/win/PluginDataWin.cpp:
15827 * rendering/RenderTableCol.cpp:
15828 * rendering/RenderTableCol.h:
15829
hausmann@webkit.org37374992008-09-29 09:03:09 +0000158302008-09-29 Thiago Macieira <thiago.macieira@trolltech.com>
15831
15832 Reviewed by Simon
15833
15834 Fix compilation with gcc 4.3
15835
15836 gcc 4.3 is stricter and ctype.h isn't getting included
15837 automatically here by dependencies. So do it directly.
15838
15839 * platform/qt/PlatformKeyboardEventQt.cpp:
15840
hausmann@webkit.org48d7bb52008-09-29 09:02:56 +0000158412008-09-29 Morten Sørvig <msorvig@trolltech.com>
15842
15843 Reviewed by Simon.
15844
15845 Fix compilation with Qt/Mac without plugins.
15846
15847 * platform/qt/TemporaryLinkStubs.cpp:
15848
mrowe@apple.com2c478db2008-09-29 08:20:37 +0000158492008-09-29 Mark Rowe <mrowe@apple.com>
15850
15851 Reviewed by Sam Weinig.
15852
15853 Apply the ASCII fast path optimization from StringImpl::lower to StringImpl::upper.
15854 In the few places that we call .upper() in WebCore the strings represent things like
15855 tag and attribute names, which are nearly always going to be ASCII.
15856
15857 * platform/text/StringImpl.cpp:
15858 (WebCore::StringImpl::lower): If we have to resize the buffer, be sure to pass the new length
15859 in to Unicode::toLower the second time.
15860 (WebCore::StringImpl::upper):
15861
mrowe@apple.com512eca02008-09-29 08:19:09 +0000158622008-09-28 Mark Rowe <mrowe@apple.com>
15863
mrowe@apple.com49797322008-09-29 08:19:14 +000015864 Reviewed by Sam Weinig.
15865
15866 Speed up getPropertyValue('clip') by 25% by using a Vector<UChar> for building a string,
15867 rather than String::operator+=.
15868
15869 * css/CSSPrimitiveValue.cpp:
15870 (WebCore::CSSPrimitiveValue::cssText):
15871
158722008-09-28 Mark Rowe <mrowe@apple.com>
15873
mrowe@apple.com512eca02008-09-29 08:19:09 +000015874 Reviewed by Oliver Hunt.
15875
15876 Speed up computedStyle.getPropertyValue('color') by 4.5x.
15877
15878 Using a Vector<UChar> while building up the property's cssText is substantially cheaper than using String::operator+=
15879 as it avoids many memory reallocations.
15880
15881 This also speeds up the jQuery .offset() benchmark at <http://dev.jquery.com/~john/speed/1.2.6/offset-1.2.6.html>
15882 by 20% due to jQuery's strange need to call getPropertyValue('color') when retrieving the computed styles for
15883 unrelated properties on an element.
15884
15885 * css/CSSPrimitiveValue.cpp:
15886 (WebCore::CSSPrimitiveValue::cssText): Build the result for the color types into a Vector<UChar>
15887 and use appendNumber rather than the String::number in order to cut down on memory allocations.
15888 * platform/text/PlatformString.h:
15889 (WebCore::appendNumber): A helper function for formatting an unsigned character as a number
15890 into a Vector<UChar>.
15891
weinig@apple.com4df73d92008-09-29 03:41:35 +0000158922008-09-28 Sam Weinig <sam@webkit.org>
15893
weinig@apple.com9af39ef2008-09-29 04:16:15 +000015894 Reviewed by Anders Carlsson.
15895
15896 Remove spurious call to lower().
15897
15898 * css/MediaQueryEvaluator.cpp:
15899 (WebCore::MediaQueryEvaluator):
15900
159012008-09-28 Sam Weinig <sam@webkit.org>
15902
weinig@apple.com4df73d92008-09-29 03:41:35 +000015903 Reviewed by Dan Bernstein.
15904
15905 Use a CaseFoldingHash instead of calling lower on family strings.
15906
15907 * css/CSSFontSelector.cpp:
15908 (WebCore::CSSFontSelector::addFontFaceRule):
15909 (WebCore::CSSFontSelector::getFontData):
15910 * css/CSSFontSelector.h:
15911
timothy@apple.com810c9892008-09-28 23:31:25 +0000159122008-09-28 Timothy Hatcher <timothy@apple.com>
15913
15914 Remove the scrollIntoViewIfNeeded() call when drawing the
15915 Inspector node highlight.
15916
15917 <rdar://problem/6115804> Don't scroll when highlighting (21000)
15918 https://bugs.webkit.org/show_bug.cgi?id=21000
15919
15920 Reviewed by Dan Bernstein.
15921
15922 * page/InspectorController.cpp:
15923 (WebCore::InspectorController::drawNodeHighlight):
15924
hyatt@apple.come6ebc992008-09-28 19:58:14 +0000159252008-09-28 David Hyatt <hyatt@apple.com>
15926
15927 Fix crash when WebKit has no instantiated Scrollbars and the appearance prefs for scrollbars are
15928 changed.
15929
15930 Reviewed by Dan Bernstein
15931
15932 * platform/mac/ScrollbarThemeMac.mm:
15933 (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
15934
timothy@apple.com47a6d492008-09-28 19:52:30 +0000159352008-09-28 Timothy Hatcher <timothy@apple.com>
15936
15937 Clear the current search results in the Inspector when
15938 the search query is less than 3 characters long. Incremental
15939 searches only occur for 3 characters or longer, but deleting
15940 under this limit would not clear the results unless the whole
15941 query was deleted.
15942
15943 https://bugs.webkit.org/show_bug.cgi?id=21196
15944
15945 Reviewed by Dan Bernstein.
15946
15947 * page/inspector/inspector.js:
15948 (WebInspector.performSearch): Check for short queries in the
15949 if statement that triggers the clear.
15950
mitz@apple.comc7980632008-09-28 19:38:50 +0000159512008-09-28 Dan Bernstein <mitz@apple.com>
15952
15953 Reviewed by Dave Hyatt.
15954
15955 - fix <rdar://problem/6202962> "Tibetan Machine Uni" font does not work as a web font on Windows because TTLoadEmbeddedFont fails with E_NAMECHANGEFAILED
15956
15957 * platform/graphics/win/FontCustomPlatformData.cpp:
15958 (WebCore::EOTStream::EOTStream): Added overlayDst, overlaySrc and
15959 overlayLength parameters.
mitz@apple.com20ac00b2008-09-28 19:41:30 +000015960 (WebCore::EOTStream::read): Added code to overlay the
mitz@apple.comc7980632008-09-28 19:38:50 +000015961 m_overlayLength bytes starting at m_overlayDst with the same number of
15962 bytes from m_overlaySrc.
15963 (WebCore::createFontCustomPlatformData): Changed to get overlay
15964 parameters from getEOTHeader.
15965 * platform/graphics/win/GetEOTHeader.cpp:
15966 (WebCore::getEOTHeader): Added code to specify overlaying of the
15967 family name with the prefix of the full name if they differ, because
15968 that such a difference causes TTLoadEmbeddedFont to fail.
15969 * platform/graphics/win/GetEOTHeader.h:
15970
ap@webkit.orgdf67f132008-09-28 13:23:51 +0000159712008-09-28 Alexey Proskuryakov <ap@webkit.org>
15972
15973 Reviewed by Eric Seidel.
15974
15975 https://bugs.webkit.org/show_bug.cgi?id=20366
15976 Reproducible test failure for editing/undo/undo-iframe-location-change.html
15977
15978 * ChangeLog-2006-05-10: Added bug URLs for a fix that included this test.
15979
darin@apple.com80c76ce2008-09-28 09:35:06 +0000159802008-09-28 Darin Adler <darin@apple.com>
15981
15982 Reviewed by Sam Weinig (except for a few comment and header tweaks).
15983
15984 - https://bugs.webkit.org/show_bug.cgi?id=21158
15985 reduce use of virtual functions in Node for speed
15986
15987 Speeds up Dromaeo a bit less than 1%.
15988
15989 * bindings/js/JSNamedNodesCollection.cpp: Include Element.h instead of
15990 Node.h now that some inlines are in there.
15991
15992 * dom/Attr.h: Override both the virtual and non-virtual name functions.
15993
15994 * dom/ChildNodeList.cpp:
15995 (WebCore::ChildNodeList::nodeMatches): Updated to take an Element.
15996 * dom/ChildNodeList.h: Ditto.
15997 * dom/ClassNodeList.cpp:
15998 (WebCore::ClassNodeList::nodeMatches): Ditto.
15999 * dom/ClassNodeList.h: Ditto.
16000
16001 * dom/Document.h: Put the Node::isDocumentNode() function's inline
16002 definition here where it can see the Document class definition.
16003
16004 * dom/DynamicNodeList.cpp:
16005 (WebCore::DynamicNodeList::length): Changed to pass an Element.
16006 (WebCore::DynamicNodeList::itemForwardsFromCurrent): Ditto.
16007 (WebCore::DynamicNodeList::itemBackwardsFromCurrent): Ditto.
16008 (WebCore::DynamicNodeList::itemWithName): Ditto.
16009 * dom/DynamicNodeList.h: Ditto.
16010
16011 * dom/Element.cpp: Removed virtualHasTagName.
16012 * dom/Element.h: Made localName, prefix, namespaceURI, and
16013 styleForRenderer non-virtual. Added virtualPrefix, virtualLocalName,
16014 virtualNamespaceURI, and removed virtualHasTagName. Put the
16015 Node::hasTagName, Node::hasAttributes, and Node::attributes
16016 functions' inline definitions here where they can see the Element
16017 class definition.
16018
16019 * dom/NameNodeList.cpp:
16020 (WebCore::NameNodeList::nodeMatches): Updated to take an Element.
16021 * dom/NameNodeList.h: Ditto.
16022
16023 * dom/Node.cpp:
16024 (WebCore::Node::virtualPrefix): Renamed from prefix.
16025 (WebCore::Node::virtualLocalName): Renamed from localName.
16026 (WebCore::Node::virtualNamespaceURI): Renamed from namespaceURI.
16027 (WebCore::Node::styleForRenderer): Handle the Element case here.
16028
16029 * dom/Node.h: Removed definition of hasTagName that calls virtual,
16030 since we now have a non-virtual version. Made hasAttributes,
16031 attributes, remove, localName, namespaceURI, prefix, isDocumentNode,
16032 and styleForRenderer non-virtual. Added virtualPrefix,
16033 virtualLocalName, and virtualNamespaceURI. Removed isMalformed
16034 and setMalformed, which are used only on HTMLFormElement objects.
16035
16036 * dom/TagNodeList.cpp:
16037 (WebCore::TagNodeList::nodeMatches): Updated to take an Element.
16038 * dom/TagNodeList.h: Ditto.
16039
16040 * html/HTMLAnchorElement.cpp: Added a comment.
16041 * html/HTMLFormControlElement.cpp: Ditto.
16042
16043 * html/HTMLAnchorElement.h: Removed unused, unimplemented setTabIndex
16044 function. Marked tabIndex function virtual explicitly for clarity.
16045
16046 * html/HTMLAreaElement.h: Removed unused, unimplemented setTabIndex
16047 function. Marked isFocusable function virtual explicitly for clarity.
16048
16049 * html/HTMLElement.h: Marked tabIndex function virtual explicitly for
16050 clarity.
16051 * html/HTMLFormControlElement.h: Ditto.
16052
16053 * html/HTMLFormElement.h: Made isMalformed non-virtual.
16054
16055 * html/HTMLParser.cpp:
16056 (WebCore::HTMLParser::handleError): Use the already-cast-to-HTMLElement
16057 pointer to call localName since that one does not need to call a virtual
16058 function.
16059
16060 * rendering/RenderBlock.cpp:
16061 (WebCore::RenderBlock::layoutBlock): Cast to HTMLFormElement before
16062 calling isMalformed. We already did a tag name check so we know it's
16063 an HTMLFormELement.
16064
16065 * xml/XPathUtil.cpp:
16066 (WebCore::XPath::isValidContextNode): Rewrote to not make so many calls
16067 to nodeType(), since it's a virtual function.
16068
hyatt@apple.com2225aef2008-09-28 08:52:26 +0000160692008-09-28 David Hyatt <hyatt@apple.com>
16070
16071 Make frameRectsChanged() cross-platform on ScrollView.
16072
16073 Reviewed by Oliver Hunt
16074
16075 * platform/ScrollView.cpp:
16076 (WebCore::ScrollView::frameRectsChanged):
16077 * platform/ScrollView.h:
16078 * platform/gtk/ScrollViewGtk.cpp:
16079 * platform/qt/ScrollViewQt.cpp:
16080 * platform/win/ScrollViewWin.cpp:
16081 * platform/wx/ScrollViewWx.cpp:
16082
oliver@apple.combec35402008-09-28 08:36:39 +0000160832008-09-28 Oliver Hunt <oliver@apple.com>
16084
16085 Reviewed by Maciej Stachowiak.
16086
16087 Bug 21141: REGRESSION: Exception messages for user entered commands are poor
16088 <https://bugs.webkit.org/show_bug.cgi?id=21141>
16089
16090 The bug repsonsible for this was the the JSInspectedObjectWrapper instances
16091 were not initialising their StructureID's to indicate that the wrapper
16092 overrides hasInstance, etc. The solution is simply to use the createStructureID
16093 helper on JSQuarantinedObjectWrapper to create a correct StructureID.
16094
16095 * bindings/js/JSInspectedObjectWrapper.cpp:
16096 (WebCore::JSInspectedObjectWrapper::wrap):
16097
hyatt@apple.comaede3de2008-09-28 08:21:09 +0000160982008-09-28 David Hyatt <hyatt@apple.com>
16099
hyatt@apple.com8fdb58c2008-09-28 08:29:47 +000016100 Make sure pixel wheel scrolls (formerly "continuous" wheel events) send deltas to DOM wheel events in
16101 terms of lines.
16102
16103 Reviewed by Oliver Hunt
16104
16105 * dom/EventTargetNode.cpp:
16106 (WebCore::EventTargetNode::dispatchWheelEvent):
16107
161082008-09-28 David Hyatt <hyatt@apple.com>
16109
hyatt@apple.comaede3de2008-09-28 08:21:09 +000016110 https://bugs.webkit.org/show_bug.cgi?id=21191
16111
16112 Rework mouse wheeling significantly to make the platform event less messy and to enable wheelEvent
16113 on ScrollView to be cross-platform.
16114
16115 Give the wheel event a concept of granularity (pixel, line or page). What used to be called continuous
16116 events are now pixel wheel events.
16117
16118 Page scrolling as implemented in bug 17589 was completely broken. It had the following problems:
16119 (1) Page scrolling has been corrected to be properly detected (on Windows
16120 page wheeling is only done in the vertical direction and it is keyed off a special return value of -1). The
16121 old code had some bizarre incorrect heuristic for "guessing" that you should page scroll and also thought
16122 you could page scroll horizontally.
16123 (2) Page scrolling a layer used the enclosing ScrollView's width/height instead of the layer's width/height.
16124 This caused the scroll amount for page scrolling to be way too large on layers.
16125
16126 Bug 17589 got the default horizontal scrolling value wrong. It assumed 1, when the Vista default is 3.
16127
16128 Incorporate WebCore's line multiplier right into the deltas of the event. This eliminates the need
16129 for separate multiplier fields (or for the need to ask if you're looking for line sensitivity).
16130
16131 Reviewed by Oliver Hunt
16132
16133 * editing/EditorCommand.cpp:
16134 (WebCore::verticalScrollDistance):
16135 * page/EventHandler.cpp:
16136 (WebCore::scrollAndAcceptEvent):
16137 (WebCore::EventHandler::handleWheelEvent):
16138 * platform/PlatformWheelEvent.h:
16139 (WebCore::):
16140 (WebCore::PlatformWheelEvent::pos):
16141 (WebCore::PlatformWheelEvent::globalPos):
16142 (WebCore::PlatformWheelEvent::deltaX):
16143 (WebCore::PlatformWheelEvent::deltaY):
16144 (WebCore::PlatformWheelEvent::granularity):
16145 (WebCore::PlatformWheelEvent::x):
16146 (WebCore::PlatformWheelEvent::globalX):
16147 (WebCore::PlatformWheelEvent::ignore):
16148 (WebCore::PlatformWheelEvent::horizontalLineMultiplier):
16149 (WebCore::PlatformWheelEvent::verticalLineMultiplier):
16150 * platform/ScrollView.cpp:
16151 (WebCore::ScrollView::wheelEvent):
16152 * platform/Scrollbar.h:
16153 * platform/gtk/ScrollViewGtk.cpp:
16154 (WebCore::ScrollView::updateScrollbars):
16155 * platform/gtk/WheelEventGtk.cpp:
16156 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
16157 * platform/mac/ScrollViewMac.mm:
16158 * platform/mac/WheelEventMac.mm:
16159 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
16160 * platform/qt/ScrollViewQt.cpp:
16161 (WebCore::ScrollView::updateScrollbars):
16162 * platform/qt/WheelEventQt.cpp:
16163 * platform/win/ScrollViewWin.cpp:
16164 (WebCore::ScrollView::updateScrollbars):
16165 * platform/win/WheelEventWin.cpp:
16166 (WebCore::PlatformWheelEvent::horizontalLineMultiplier):
16167 (WebCore::PlatformWheelEvent::verticalLineMultiplier):
16168 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
16169 * platform/wx/ScrollViewWx.cpp:
16170 (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
16171 (WebCore::ScrollView::wheelEvent):
16172 * rendering/RenderLayer.cpp:
16173 (WebCore::RenderLayer::updateScrollInfoAfterLayout):
16174
eric.carlson@apple.comebb3e442008-09-28 05:38:57 +0000161752008-09-27 Eric Carlson <eric.carlson@apple.com>
16176
16177 Reviewed by Sam Weinig.
16178
16179 fix https://bugs.webkit.org/show_bug.cgi?id=20994
16180 <rdar://problem/6171023> HTMLVideoElement width and height attributes are now unsigned
16181
16182 HTML5 spec says HTMLVideoElement width and height attributes should be unsigned. Convert
16183 all unsigned media attributes from string with toUInt() instead of toInt().
16184
16185 * html/HTMLMediaElement.cpp:
16186 (WebCore::HTMLMediaElement::playCount): convert from attribute with toUInt().
16187
16188 * html/HTMLVideoElement.cpp:
16189 (WebCore::HTMLVideoElement::videoWidth):
16190 (WebCore::HTMLVideoElement::videoHeight): return unsigned to match idl.
16191 (WebCore::HTMLVideoElement::width): convert from attribute with toUInt() and return
16192 unsigned value.
16193 (WebCore::HTMLVideoElement::height): Ditto.
16194 (WebCore::HTMLVideoElement::setWidth): take unsigned value.
16195 (WebCore::HTMLVideoElement::setHeight): Ditto.
16196
16197 * html/HTMLVideoElement.h: width, height, videoWidth, and videoHeight are unsigned.
16198
16199 * html/HTMLVideoElement.idl: make width and height unsigned to match HTML5 spec.
16200
timothy@apple.coma8215632008-09-28 04:40:53 +0000162012008-09-27 Timothy Hatcher <timothy@apple.com>
16202
timothy@apple.combe91da22008-09-28 04:40:58 +000016203 Fixes an exception when typing a command in the Console.
16204
16205 Reviewed by Oliver Hunt.
16206
16207 * page/inspector/Console.js:
16208 (WebInspector.Console.prototype.addMessage): Null check
16209 this.previosMessage.
16210
162112008-09-27 Timothy Hatcher <timothy@apple.com>
16212
timothy@apple.coma8215632008-09-28 04:40:53 +000016213 Fixes a bug where the Profiles panel sidebar would be empty
16214 after closing and reopening the Web Inspector.
16215
16216 https://bugs.webkit.org/show_bug.cgi?id=21179
16217
16218 Reviewed by Sam Weinig.
16219
16220 * page/inspector/ProfilesPanel.js:
16221 (WebInspector.ProfilesPanel.prototype.reset): Don't call
16222 populateInterface, it is called automatically.
16223 (WebInspector.ProfilesPanel.prototype._populateProfiles):
16224 Return early if the sidebar is already populated.
16225
hyatt@apple.com81664322008-09-28 04:38:21 +0000162262008-09-27 Dave Hyatt <hyatt@apple.com>
16227
16228 Bug 21190. The line scroll amount on Windows is way too small. A patch for bug 17589 for wheel sensitivity
16229 incorrectly applied the tinier wheel step delta (unmultiplied) to line scrolling. Line scrolling with the
16230 scrollbar has nothing to do with mouse wheeling. This patch reverts the scrollbars to use the same line
16231 step as other platforms while leaving the wheel delta alone for use with wheel scrolling.
16232
16233 There was a lot wrong with 17589, so more patches will be coming to deal with the fallout of this patch
16234 (which should never have landed in the first place).
16235
16236 Reviewed by Tim Hatcher, Sam Weinig
16237
16238 * platform/win/ScrollViewWin.cpp:
16239 (WebCore::adjustDeltaForPageScrollMode):
16240 (WebCore::ScrollView::updateScrollbars):
16241 (WebCore::ScrollView::wheelEvent):
16242
hyatt@apple.com880cbb12008-09-28 03:51:41 +0000162432008-09-27 David Hyatt <hyatt@apple.com>
16244
16245 Make the scrollbarUnderMouse method cross-platform.
16246
16247 Reviewed by Sam Weinig
16248
16249 * platform/ScrollView.cpp:
16250 (WebCore::ScrollView::scrollbarUnderMouse):
16251 * platform/gtk/ScrollViewGtk.cpp:
16252 * platform/mac/ScrollViewMac.mm:
16253 * platform/qt/ScrollViewQt.cpp:
16254 * platform/win/ScrollViewWin.cpp:
16255 * platform/wx/ScrollViewWx.cpp:
16256
zecke@webkit.org7bf12c62008-09-28 01:50:42 +0000162572008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>
16258
16259 Gtk+ build fix.
16260
16261 * platform/gtk/ScrollViewGtk.cpp:
16262 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
16263
zecke@webkit.org202af282008-09-28 01:49:45 +0000162642008-09-27 Jan Michael Alonzo <jmalonzo@webkit.org>
16265
16266 Reviewed by Holger Freyther.
16267
16268 https://bugs.webkit.org/show_bug.cgi?id=20287
16269 [Gtk] disable plugins for gtk/directfb target
16270
16271 Introduce WTF_PLATFORM_X11 for X11 builds.
16272 Also use target-specific packages when building the port
16273
16274 * platform/gtk/PlatformScreenGtk.cpp:
16275 * plugins/gtk/PluginViewGtk.cpp:
16276 (WebCore::PluginView::updatePluginWidget):
16277 (WebCore::PluginView::getValueStatic):
16278 (WebCore::PluginView::getValue):
16279 (WebCore::PluginView::init):
16280
hyatt@apple.come6f04e52008-09-28 01:07:05 +0000162812008-09-27 David Hyatt <hyatt@apple.com>
16282
16283 https://bugs.webkit.org/show_bug.cgi?id=21188
16284
16285 Make scrollbar suppression and resizer avoidance cross-platform.
16286
16287 Reviewed by Anders
16288
16289 * loader/FrameLoader.cpp:
16290 (WebCore::FrameLoader::transitionToCommitted):
16291 * page/FrameView.cpp:
16292 (WebCore::FrameView::resetScrollbars):
16293 (WebCore::FrameView::clear):
16294 (WebCore::FrameView::layout):
16295 (WebCore::FrameView::restoreScrollbar):
16296 (WebCore::FrameView::windowResizerRect):
16297 * page/FrameView.h:
16298 * platform/ScrollView.cpp:
16299 (WebCore::ScrollView::init):
16300 (WebCore::ScrollView::resizerOverlapsContent):
16301 (WebCore::ScrollView::adjustScrollbarsAvoidingResizerCount):
16302 (WebCore::ScrollView::setParent):
16303 (WebCore::ScrollView::setScrollbarsSuppressed):
16304 (WebCore::ScrollView::platformSetScrollbarsSuppressed):
16305 * platform/ScrollView.h:
16306 (WebCore::ScrollView::scrollbarsSuppressed):
16307 (WebCore::ScrollView::windowResizerRect):
16308 * platform/Scrollbar.cpp:
16309 (WebCore::Scrollbar::setFrameRect):
16310 (WebCore::Scrollbar::setParent):
16311 * platform/gtk/ScrollViewGtk.cpp:
16312 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
16313 (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
16314 (WebCore::ScrollView::updateScrollbars):
16315 (WebCore::ScrollView::paint):
16316 * platform/mac/ScrollViewMac.mm:
16317 (WebCore::ScrollView::ScrollView):
16318 (WebCore::ScrollView::~ScrollView):
16319 (WebCore::ScrollView::platformSetScrollbarsSuppressed):
16320 (WebCore::ScrollView::setScrollPosition):
16321 * platform/qt/ScrollViewQt.cpp:
16322 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
16323 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
16324 (WebCore::ScrollView::frameRectsChanged):
16325 (WebCore::ScrollView::updateScrollbars):
16326 (WebCore::ScrollView::paint):
16327 * platform/win/ScrollViewWin.cpp:
16328 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
16329 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
16330 (WebCore::ScrollView::updateScrollbars):
16331 (WebCore::ScrollView::paint):
16332 * platform/wx/ScrollViewWx.cpp:
16333 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
16334
zecke@webkit.org0034c712008-09-27 23:46:50 +0000163352008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>
16336
16337 Rubber-stamped by Anders Carlsson.
16338
16339 Compile fix.
16340
16341 * plugins/PluginView.cpp:
16342 (WebCore::PluginView::load):
16343
mrowe@apple.com0f9c3da9d2008-09-27 23:23:24 +0000163442008-09-27 Mark Rowe <mrowe@apple.com>
16345
16346 Rubber-stamped by Sam Weinig.
16347
16348 Fix <https://bugs.webkit.org/show_bug.cgi?id=21184>.
16349 Bug 21184: REGRESSION: Reproducible crash below StringImpl::hash while running editing/deleting/5408255.html
16350
16351 Remove an assertion that was incorrect and that if made correct would have duplicated a check that occurred earlier in the function.
16352
16353 * loader/CachedResource.cpp:
16354 (WebCore::CachedResource::~CachedResource):
16355
zecke@webkit.org47132852008-09-27 22:45:21 +0000163562008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>
16357
16358 Reviewed by Simon Hausmann.
16359
zecke@webkit.orgfe2082a2008-09-27 22:46:55 +000016360 [qt] Use QImageReader to figure out which image formats are supported
16361 - Qt can have many different plugins for different image formats. Instead
16362 of checking only for a few in WebCore use Qt to determine if this data
16363 can be treated as an image.
16364
16365 * platform/graphics/qt/ImageSourceQt.cpp:
16366 (WebCore::canHandleImage):
16367 (WebCore::createDecoder):
16368
163692008-09-27 Holger Hans Peter Freyther <zecke@selfish.org>
16370
16371
zecke@webkit.org47132852008-09-27 22:45:21 +000016372 [qt] Clean the pattern code
16373 - Use save/restore on the painter after manipulating the
16374 pen/brush
16375 - Make the context and object null checking consistent. CG is using
16376 the object unconditionally so the Qt webkit platform can do the
16377 same.
16378 - Move code below the early exit. Only use the m_ownerElement before
16379 the early exit as the CG code is doing it.
16380
16381 * svg/graphics/SVGPaintServerPattern.h:
16382 * svg/graphics/qt/SVGPaintServerPatternQt.cpp:
16383 (WebCore::SVGPaintServerPattern::setup):
16384 (WebCore::SVGPaintServerPattern::teardown):
16385
timothy@apple.com345f1af2008-09-27 22:18:35 +0000163862008-09-27 Keishi Hattori <casey.hattori@gmail.com>
16387
16388 Added support for console.trace.
16389
16390 https://bugs.webkit.org/show_bug.cgi?id=19157
16391
16392 Reviewed by Kevin McCullough and Tim Hatcher.
16393
16394 * bindings/js/JSConsoleCustom.cpp:
16395 (WebCore::JSConsole::trace):
16396 * page/Console.cpp:
16397 (WebCore::Console::trace): Calls Machine::retrieveCaller to
16398 get a stack trace.
16399 * page/Console.h:
16400 (WebCore::): Added TraceMessageLevel.
16401 * page/Console.idl: Added console.trace.
16402 * page/inspector/Console.js:
16403 (ConsoleMessage): Added case for TraceMessageLevel.
16404
andersca@apple.com6b8e0a22008-09-27 21:28:40 +0000164052008-09-27 Anders Carlsson <andersca@apple.com>
16406
16407 Reviewed by Sam Weinig.
16408
16409 https://bugs.webkit.org/show_bug.cgi?id=21178
16410 <rdar://problem/6248651>
16411
16412 Check if the plug-in is allowed to load the resource. This matches Firefox.
16413
16414 Test: http/tests/plugins/local-geturl-from-remote.html
16415
16416 * plugins/PluginView.cpp:
16417 (WebCore::PluginView::load):
16418
zecke@webkit.org91ee65a2008-09-27 21:06:35 +0000164192008-09-22 Dirk Schulze <vbs85@gmx.de>
16420
16421 Reviewed by Eric Seidel.
16422
16423 Added SVG pattern support to Qt.
16424
16425 [Qt] SVG patterns are missing
16426 https://bugs.webkit.org/show_bug.cgi?id=20973
16427
16428 * svg/graphics/qt/SVGPaintServerPatternQt.cpp:
16429 (WebCore::SVGPaintServerPattern::setup):
16430
timothy@apple.com5fb1f7e2008-09-27 20:18:08 +0000164312008-09-27 Keishi Hattori <casey.hattori@gmail.com>
16432
16433 Fixed a bug in the JS syntax highlighter with multiple line tokens.
16434
16435 https://bugs.webkit.org/show_bug.cgi?id=21171
16436
16437 Reviewed by Tim Hatcher.
16438
16439 * page/inspector/SourceFrame.js:
16440 (syntaxHighlightJavascriptLine): Initialize previousMatchLength.
16441
timothy@apple.com5b4b3d02008-09-27 20:18:03 +0000164422008-09-27 Timothy Hatcher <timothy@apple.com>
16443
16444 Change searching in the Profiles panel to not match the
16445 Self and Total columns when there are no units. The only
16446 column that is matched for unitless number searches is
16447 now the Calls column.
16448
16449 https://bugs.webkit.org/show_bug.cgi?id=21169
16450
16451 Reviewed by Sam Weinig.
16452
16453 * page/inspector/ProfileView.js:
16454 (WebInspector.ProfileView.prototype.performSearch):
16455
hyatt@apple.com0fd13952008-09-27 19:56:56 +0000164562008-09-27 David Hyatt <hyatt@apple.com>
16457
16458 Rename boundsGeometry -> boundsRect. Rename geometryChanged -> frameRectsChanged.
16459
16460 Reviewed by Sam Weinig
16461
16462 * platform/ScrollView.h:
16463 * platform/Widget.h:
16464 (WebCore::Widget::boundsRect):
16465 (WebCore::Widget::invalidate):
16466 (WebCore::Widget::frameRectsChanged):
16467 * platform/gtk/ScrollViewGtk.cpp:
16468 (WebCore::ScrollViewScrollbar::frameRectsChanged):
16469 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
16470 (WebCore::ScrollView::setFrameRect):
16471 (WebCore::ScrollView::updateScrollbars):
16472 (WebCore::ScrollView::frameRectsChanged):
16473 * platform/gtk/ScrollbarGtk.cpp:
16474 (ScrollbarGtk::setFrameRect):
16475 (ScrollbarGtk::frameRectsChanged):
16476 * platform/gtk/ScrollbarGtk.h:
16477 * platform/gtk/WidgetGtk.cpp:
16478 * platform/qt/ScrollViewQt.cpp:
16479 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
16480 (WebCore::ScrollView::setFrameRect):
16481 (WebCore::ScrollView::frameRectsChanged):
16482 (WebCore::ScrollView::updateScrollbars):
16483 * platform/win/ScrollViewWin.cpp:
16484 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
16485 (WebCore::ScrollView::setFrameRect):
16486 (WebCore::ScrollView::updateScrollbars):
16487 (WebCore::ScrollView::frameRectsChanged):
16488 * plugins/PluginView.cpp:
16489 (WebCore::PluginView::frameRectsChanged):
16490 * plugins/PluginView.h:
16491
hausmann@webkit.orgc4fb5d92008-09-27 19:15:15 +0000164922008-09-27 Simon Hausmann <hausmann@webkit.org>
16493
hausmann@webkit.orge49722f2008-09-27 19:49:01 +000016494 Refix the previous build fix to compile on non-Qt platforms, too.
16495
16496 * WebCore.pro: Don't pass -i to create_hashtable, added missing -n
16497 WebCore to generate the PrototypeTable in the WebCore namespace
16498 * bindings/js/JSEventTargetBase.h: Revert previous fix, the Prototype
16499 table remains in the Webcore namespace
16500 (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot):
16501
165022008-09-27 Simon Hausmann <hausmann@webkit.org>
16503
hausmann@webkit.orgc4fb5d92008-09-27 19:15:15 +000016504 Fix compilation with gcc 4.3 (probably > 4.0)
16505
16506 * bindings/js/JSDOMWindowBase.cpp: Don't define static property
16507 get/put functions inside the WebCore namespace.
16508 * bindings/js/JSEventTargetBase.cpp: Ditto.
16509 * bindings/js/JSEventTargetNode.cpp: Ditto.
16510 * bindings/js/JSEventTargetSVGElementInstance.cpp: Ditto.
16511 * bindings/js/JSEventTargetBase.h: Forward declare
16512 JSEventTargetPrototypeTable in the JSC namespace as the lut.h file
16513 defines it in the JSC namespace.
16514 (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot): Add JSC::
16515 prefix for PrototypeTable symbol.
16516
hyatt@apple.come7c12342008-09-27 07:43:38 +0000165172008-09-27 David Hyatt <hyatt@apple.com>
16518
hyatt@apple.com53634ac2008-09-27 08:01:26 +000016519 Rename frameGeometry to frameRect. Rename setFrameGeometry to setFrameRect.
16520
16521 Reviewed by Dan Bernstein
16522
16523 * WebCore.base.exp:
16524 * page/FrameView.cpp:
16525 (WebCore::FrameView::FrameView):
16526 (WebCore::FrameView::updateControlTints):
16527 * platform/ScrollView.h:
16528 * platform/Scrollbar.cpp:
16529 (WebCore::Scrollbar::Scrollbar):
16530 (WebCore::Scrollbar::paint):
16531 (WebCore::Scrollbar::setFrameRect):
16532 * platform/Scrollbar.h:
16533 * platform/ScrollbarThemeComposite.cpp:
16534 (WebCore::ScrollbarThemeComposite::paint):
16535 * platform/Widget.h:
16536 (WebCore::Widget::x):
16537 (WebCore::Widget::y):
16538 (WebCore::Widget::width):
16539 (WebCore::Widget::height):
16540 (WebCore::Widget::size):
16541 (WebCore::Widget::pos):
16542 (WebCore::Widget::resize):
16543 (WebCore::Widget::move):
16544 * platform/gtk/ScrollViewGtk.cpp:
16545 (WebCore::ScrollViewScrollbar::geometryChanged):
16546 (WebCore::ScrollView::update):
16547 (WebCore::ScrollView::setFrameRect):
16548 (WebCore::ScrollView::updateScrollbars):
16549 (WebCore::ScrollView::scrollbarUnderMouse):
16550 (WebCore::ScrollView::paint):
16551 * platform/gtk/ScrollbarGtk.cpp:
16552 (ScrollbarGtk::setFrameRect):
16553 (ScrollbarGtk::geometryChanged):
16554 * platform/gtk/ScrollbarGtk.h:
16555 * platform/gtk/WidgetGtk.cpp:
16556 (WebCore::Widget::frameRect):
16557 (WebCore::Widget::setFrameRect):
16558 * platform/mac/ScrollbarThemeMac.mm:
16559 (WebCore::ScrollbarThemeMac::trackRect):
16560 (WebCore::ScrollbarThemeMac::paint):
16561 * platform/mac/WidgetMac.mm:
16562 (WebCore::Widget::frameRect):
16563 (WebCore::Widget::setFrameRect):
16564 * platform/qt/ScrollViewQt.cpp:
16565 (WebCore::ScrollView::setFrameRect):
16566 (WebCore::ScrollView::updateScrollbars):
16567 (WebCore::ScrollView::scrollbarUnderMouse):
16568 (WebCore::ScrollView::paint):
16569 * platform/qt/ScrollbarThemeQt.cpp:
16570 (WebCore::styleOptionSlider):
16571 * platform/qt/WidgetQt.cpp:
16572 (WebCore::Widget::frameRect):
16573 (WebCore::Widget::setFrameRect):
16574 * platform/win/PopupMenuWin.cpp:
16575 (WebCore::PopupMenu::invalidateItem):
16576 (WebCore::PopupMenu::valueChanged):
16577 (WebCore::PopupWndProc):
16578 * platform/win/ScrollViewWin.cpp:
16579 (WebCore::ScrollView::setFrameRect):
16580 (WebCore::ScrollView::updateScrollbars):
16581 (WebCore::ScrollView::scrollbarUnderMouse):
16582 (WebCore::ScrollView::paint):
16583 * platform/win/ScrollbarThemeSafari.cpp:
16584 (WebCore::ScrollbarThemeSafari::trackRect):
16585 * platform/win/WidgetWin.cpp:
16586 (WebCore::Widget::frameRect):
16587 (WebCore::Widget::setFrameRect):
16588 * platform/wx/WidgetWx.cpp:
16589 (WebCore::Widget::frameRect):
16590 (WebCore::Widget::setFrameRect):
16591 * plugins/PluginView.cpp:
16592 (WebCore::PluginView::setFrameRect):
16593 * plugins/PluginView.h:
16594 * plugins/gtk/PluginViewGtk.cpp:
16595 (WebCore::PluginView::updatePluginWidget):
16596 (WebCore::PluginView::paint):
16597 (WebCore::PluginView::init):
16598 * plugins/qt/PluginViewQt.cpp:
16599 (WebCore::PluginView::updatePluginWidget):
16600 (WebCore::PluginView::init):
16601 * plugins/win/PluginViewWin.cpp:
16602 (WebCore::PluginView::updatePluginWidget):
16603 (WebCore::PluginView::paintMissingPluginIcon):
16604 (WebCore::PluginView::paint):
16605 (WebCore::PluginView::init):
16606 * rendering/RenderLayer.cpp:
16607 (WebCore::RenderLayer::positionOverflowControls):
16608 * rendering/RenderListBox.cpp:
16609 (WebCore::RenderListBox::paintScrollbar):
16610 * rendering/RenderPart.cpp:
16611 (WebCore::RenderPart::updateWidgetPosition):
16612 * rendering/RenderWidget.cpp:
16613 (WebCore::RenderWidget::setWidgetGeometry):
16614 (WebCore::RenderWidget::updateWidgetPosition):
16615
166162008-09-27 David Hyatt <hyatt@apple.com>
16617
hyatt@apple.come7c12342008-09-27 07:43:38 +000016618 <rdar://problem/6252041> REGRESSION (4dp-TOT): Crash in Widget::platformWidget() when closing a PDF
16619
16620 This crash was lurking for a while and basically got exposed by my changes to visibleContentRect() to
16621 access an actual member variable.
16622
16623 Reviewed by Dan Bernstein
16624
16625 * page/FocusController.cpp:
16626 (WebCore::FocusController::setFocusedFrame):
16627
jmalonzo@webkit.orge927a612008-09-27 07:38:30 +0000166282008-09-27 Jan Michael Alonzo <jmalonzo@webkit.org>
16629
16630 Attempt to fix QT Build. Not reviewed.
16631
16632 * WebCore.pro: add -n WebCore parameter to create_hash_table
16633
jmalonzo@webkit.org134654a2008-09-27 06:48:23 +0000166342008-09-26 Gwenole Beauchesne <gbeauchesne@splitted-desktop.org>
16635
16636 Reviewed by Eric Seidel.
16637
16638 http://bugs.webkit.org/show_bug.cgi?id=18905
16639 [GTK] Fix build with older pango (1.14.8)
16640
16641 * platform/graphics/gtk/FontGtk.cpp:
16642 * platform/gtk/Language.cpp:
16643 (_pango_get_lc_ctype):
16644 (pango_language_get_default):
16645
hyatt@apple.com0315e532008-09-27 06:23:58 +0000166462008-09-26 David Hyatt <hyatt@apple.com>
16647
16648 https://bugs.webkit.org/show_bug.cgi?id=21168
16649
16650 Make contentsToWindow/windowToContents cross-platform.
16651
16652 Reviewed by Oliver Hunt
16653
16654 * platform/ScrollView.cpp:
16655 (WebCore::ScrollView::windowToContents):
16656 (WebCore::ScrollView::contentsToWindow):
16657 * platform/ScrollView.h:
16658 * platform/gtk/ScrollViewGtk.cpp:
16659 * platform/mac/ScrollViewMac.mm:
16660 * platform/qt/ScrollViewQt.cpp:
16661 * platform/win/ScrollViewWin.cpp:
16662 * platform/wx/ScrollViewWx.cpp:
16663
weinig@apple.com0e6acf62008-09-27 06:15:45 +0000166642008-09-26 Sam Weinig <sam@webkit.org>
16665
16666 GTK build fix.
16667
16668 * GNUmakefile.am:
16669
hyatt@apple.comb37db692008-09-27 04:43:00 +0000166702008-09-26 David Hyatt <hyatt@apple.com>
16671
hyatt@apple.com8d329412008-09-27 05:26:38 +000016672 Eliminate shouldUpdateWhileOffscreen from ScrollView. Make the concept of not invalidating while
16673 offscreen cross-platform. Rename the inWindow method to isOffscreen (which flips the boolean), since that
16674 more clearly conveys the intent of the method. Make isOffscreen also check NSWindow visibility on Mac.
16675
16676 Reviewed by Oliver Hunt
16677
16678 * page/FrameView.cpp:
16679 (WebCore::FrameView::repaintContentRectangle):
16680 * page/FrameView.h:
16681 * platform/ScrollView.h:
16682 * platform/gtk/ScrollViewGtk.cpp:
16683 (WebCore::ScrollView::isOffscreen):
16684 * platform/mac/ScrollViewMac.mm:
16685 (WebCore::ScrollView::updateContents):
16686 (WebCore::ScrollView::isOffscreen):
16687 * platform/qt/ScrollViewQt.cpp:
16688 (WebCore::ScrollView::isOffscreen):
16689 * platform/win/ScrollViewWin.cpp:
16690 (WebCore::ScrollView::isOffscreen):
16691 * platform/wx/ScrollViewWx.cpp:
16692 (WebCore::ScrollView::isOffscreen):
16693 * rendering/RenderObject.cpp:
16694 (WebCore::RenderObject::willRenderImage):
16695
166962008-09-26 David Hyatt <hyatt@apple.com>
16697
hyatt@apple.comb37db692008-09-27 04:43:00 +000016698 https://bugs.webkit.org/show_bug.cgi?id=21164
16699
16700 Rework concept of allowsScrolling/setAllowsScrolling to be cross-platform.
16701
16702 Reviewed by Sam Weinig
16703
16704 * WebCore.base.exp:
16705 * page/FrameView.cpp:
16706 (WebCore::FrameView::setAllowsScrolling):
16707 * page/FrameView.h:
16708 * platform/ScrollView.cpp:
16709 (WebCore::ScrollView::setAllowsScrolling):
16710 * platform/ScrollView.h:
16711 (WebCore::ScrollView::allowsScrolling):
16712 * platform/win/ScrollViewWin.cpp:
16713 (WebCore::ScrollView::wheelEvent):
16714
kevino@webkit.orgb6e7c7b2008-09-27 03:22:11 +0000167152008-09-26 Kevin Ollivier <kevino@theolliviers.com>
16716
16717 wx build fixes after Widget/ScrollView changes.
16718
16719 * platform/wx/PopupMenuWx.cpp:
16720 (WebCore::PopupMenu::show):
16721 * platform/wx/ScrollViewWx.cpp:
16722 (WebCore::ScrollView::platformSetContentsSize):
16723 (WebCore::ScrollView::platformSetScrollbarModes):
16724 (WebCore::ScrollView::wheelEvent):
16725 * platform/wx/TemporaryLinkStubs.cpp:
16726 * platform/wx/WidgetWx.cpp:
16727 (WebCore::Widget::containingWindow):
16728
timothy@apple.com9b486082008-09-27 02:44:05 +0000167292008-09-26 Timothy Hatcher <timothy@apple.com>
16730
16731 Allow searching for paths by always performing the
16732 three search methods in the Elements panel and not
16733 assume a search with a "/" is a XPath query.
16734
16735 https://bugs.webkit.org/show_bug.cgi?id=21159
16736
16737 Reviewed by Geoff Garen.
16738
16739 * page/inspector/ElementsPanel.js:
16740 (WebInspector.ElementsPanel.prototype.performSearch):
16741
weinig@apple.comcaf5e3b2008-09-27 02:36:15 +0000167422008-09-26 Sam Weinig <sam@webkit.org>
16743
16744 Reviewed by Darin Adler.
16745
16746 Patch for https://bugs.webkit.org/show_bug.cgi?id=21152
16747 Speedup static property get/put
16748
16749 * DerivedSources.make:
16750 * GNUmakefile.am:
16751 * WebCore.pro:
16752 * WebCore.vcproj/WebCore.vcproj:
16753 * WebCore.xcodeproj/project.pbxproj:
16754 * bindings/js/JSDOMBinding.cpp:
16755 * bindings/js/JSDOMBinding.h:
16756 * bindings/js/JSDOMWindowBase.cpp:
16757 (WebCore::getDOMConstructor):
16758 (WebCore::jsDOMWindowBaseCrypto):
16759 (WebCore::jsDOMWindowBaseEvent):
16760 (WebCore::jsDOMWindowBaseImage):
16761 (WebCore::jsDOMWindowBaseMessageChannel):
16762 (WebCore::jsDOMWindowBaseOption):
16763 (WebCore::jsDOMWindowBaseXMLHttpRequest):
16764 (WebCore::jsDOMWindowBaseAudio):
16765 (WebCore::jsDOMWindowBaseXSLTProcessor):
16766 (WebCore::jsDOMWindowBaseOnabort):
16767 (WebCore::jsDOMWindowBaseOnblur):
16768 (WebCore::jsDOMWindowBaseOnchange):
16769 (WebCore::jsDOMWindowBaseOnclick):
16770 (WebCore::jsDOMWindowBaseOndblclick):
16771 (WebCore::jsDOMWindowBaseOnerror):
16772 (WebCore::jsDOMWindowBaseOnfocus):
16773 (WebCore::jsDOMWindowBaseOnkeydown):
16774 (WebCore::jsDOMWindowBaseOnkeypress):
16775 (WebCore::jsDOMWindowBaseOnkeyup):
16776 (WebCore::jsDOMWindowBaseOnload):
16777 (WebCore::jsDOMWindowBaseOnmousedown):
16778 (WebCore::jsDOMWindowBaseOnmousemove):
16779 (WebCore::jsDOMWindowBaseOnmouseout):
16780 (WebCore::jsDOMWindowBaseOnmouseover):
16781 (WebCore::jsDOMWindowBaseOnmouseup):
16782 (WebCore::jsDOMWindowBaseOnMouseWheel):
16783 (WebCore::jsDOMWindowBaseOnreset):
16784 (WebCore::jsDOMWindowBaseOnresize):
16785 (WebCore::jsDOMWindowBaseOnscroll):
16786 (WebCore::jsDOMWindowBaseOnsearch):
16787 (WebCore::jsDOMWindowBaseOnselect):
16788 (WebCore::jsDOMWindowBaseOnsubmit):
16789 (WebCore::jsDOMWindowBaseOnbeforeunload):
16790 (WebCore::jsDOMWindowBaseOnunload):
16791 (WebCore::jsDOMWindowBaseOnWebKitAnimationStart):
16792 (WebCore::jsDOMWindowBaseOnWebKitAnimationIteration):
16793 (WebCore::jsDOMWindowBaseOnWebKitAnimationEnd):
16794 (WebCore::jsDOMWindowBaseOnWebKitTransitionEnd):
16795 (WebCore::JSDOMWindowBase::getOwnPropertySlot):
16796 (WebCore::JSDOMWindowBase::put):
16797 (WebCore::setJSDOMWindowBaseOnabort):
16798 (WebCore::setJSDOMWindowBaseOnblur):
16799 (WebCore::setJSDOMWindowBaseOnchange):
16800 (WebCore::setJSDOMWindowBaseOnclick):
16801 (WebCore::setJSDOMWindowBaseOndblclick):
16802 (WebCore::setJSDOMWindowBaseOnerror):
16803 (WebCore::setJSDOMWindowBaseOnfocus):
16804 (WebCore::setJSDOMWindowBaseOnkeydown):
16805 (WebCore::setJSDOMWindowBaseOnkeypress):
16806 (WebCore::setJSDOMWindowBaseOnkeyup):
16807 (WebCore::setJSDOMWindowBaseOnload):
16808 (WebCore::setJSDOMWindowBaseOnmousedown):
16809 (WebCore::setJSDOMWindowBaseOnmousemove):
16810 (WebCore::setJSDOMWindowBaseOnmouseout):
16811 (WebCore::setJSDOMWindowBaseOnmouseover):
16812 (WebCore::setJSDOMWindowBaseOnmouseup):
16813 (WebCore::setJSDOMWindowBaseOnMouseWheel):
16814 (WebCore::setJSDOMWindowBaseOnreset):
16815 (WebCore::setJSDOMWindowBaseOnresize):
16816 (WebCore::setJSDOMWindowBaseOnscroll):
16817 (WebCore::setJSDOMWindowBaseOnsearch):
16818 (WebCore::setJSDOMWindowBaseOnselect):
16819 (WebCore::setJSDOMWindowBaseOnsubmit):
16820 (WebCore::setJSDOMWindowBaseOnbeforeunload):
16821 (WebCore::setJSDOMWindowBaseOnunload):
16822 (WebCore::setJSDOMWindowBaseOnWebKitAnimationStart):
16823 (WebCore::setJSDOMWindowBaseOnWebKitAnimationIteration):
16824 (WebCore::setJSDOMWindowBaseOnWebKitAnimationEnd):
16825 (WebCore::setJSDOMWindowBaseOnWebKitTransitionEnd):
16826 (WebCore::setJSDOMWindowBaseEvent):
16827 (WebCore::setJSDOMWindowBaseAudio):
16828 (WebCore::setJSDOMWindowBaseImage):
16829 (WebCore::setJSDOMWindowBaseMessageChannel):
16830 (WebCore::setJSDOMWindowBaseOption):
16831 (WebCore::setJSDOMWindowBaseXMLHttpRequest):
16832 (WebCore::setJSDOMWindowBaseXSLTProcessor):
16833 * bindings/js/JSDOMWindowBase.h:
16834 * bindings/js/JSDOMWindowCustom.cpp:
16835 (WebCore::nonCachingStaticCloseFunctionGetter):
16836 (WebCore::nonCachingStaticBlurFunctionGetter):
16837 (WebCore::nonCachingStaticFocusFunctionGetter):
16838 (WebCore::nonCachingStaticPostMessageFunctionGetter):
16839 * bindings/js/JSDOMWindowCustom.h:
16840 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
16841 * bindings/js/JSEventTargetBase.cpp:
16842 * bindings/js/JSEventTargetBase.h:
16843 (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot):
16844 (WebCore::JSEventTargetBasePrototype::classInfo):
16845 * bindings/js/JSEventTargetNode.cpp:
16846 (WebCore::):
16847 (WebCore::JSEventTargetNode::getOwnPropertySlot):
16848 (WebCore::JSEventTargetNode::put):
16849 * bindings/js/JSEventTargetNode.h:
16850 (WebCore::JSEventTargetNode::classInfo):
16851 (WebCore::JSEventTargetNode::prototypeClassName):
16852 * bindings/js/JSEventTargetSVGElementInstance.cpp:
16853 (WebCore::):
16854 (WebCore::JSEventTargetSVGElementInstance::getOwnPropertySlot):
16855 (WebCore::JSEventTargetSVGElementInstance::put):
16856 * bindings/js/JSEventTargetSVGElementInstance.h:
16857 (WebCore::JSEventTargetSVGElementInstance::classInfo):
16858 (WebCore::JSEventTargetSVGElementInstance::prototypeClassName):
16859 * bindings/js/JSHTMLInputElementCustom.cpp:
16860 (WebCore::JSHTMLInputElement::customGetOwnPropertySlot):
16861 * bindings/js/JSHistoryCustom.cpp:
16862 (WebCore::nonCachingStaticBackFunctionGetter):
16863 (WebCore::nonCachingStaticForwardFunctionGetter):
16864 (WebCore::nonCachingStaticGoFunctionGetter):
16865 (WebCore::JSHistory::customGetOwnPropertySlot):
16866 * bindings/js/JSLocationCustom.cpp:
16867 (WebCore::nonCachingStaticReplaceFunctionGetter):
16868 (WebCore::nonCachingStaticReloadFunctionGetter):
16869 (WebCore::nonCachingStaticAssignFunctionGetter):
16870 (WebCore::JSLocation::customGetOwnPropertySlot):
16871 (WebCore::JSLocation::customPut):
16872 * bindings/scripts/CodeGeneratorJS.pm:
16873
hyatt@apple.com01adde82008-09-26 20:49:34 +0000168742008-09-26 David Hyatt <hyatt@apple.com>
16875
16876 https://bugs.webkit.org/show_bug.cgi?id=21149
16877
16878 Make the concept of scroll modes cross-platform. Move the scrollbars up into ScrollView as well.
16879 Eliminate the unused isScrollable() method.
16880
16881 Reviewed by Sam Weinig
16882
16883 * WebCore.base.exp:
16884 * page/FrameView.cpp:
16885 (WebCore::FrameView::resetScrollbars):
16886 (WebCore::FrameView::initScrollbars):
16887 (WebCore::FrameView::layout):
16888 * page/FrameView.h:
16889 * page/mac/WebCoreFrameView.h:
16890 * platform/ScrollView.cpp:
16891 (WebCore::ScrollView::init):
16892 (WebCore::ScrollView::setScrollbarModes):
16893 (WebCore::ScrollView::scrollbarModes):
16894 (WebCore::ScrollView::platformSetScrollbarModes):
16895 (WebCore::ScrollView::platformScrollbarModes):
16896 * platform/ScrollView.h:
16897 (WebCore::ScrollView::horizontalScrollbar):
16898 (WebCore::ScrollView::verticalScrollbar):
16899 (WebCore::ScrollView::isScrollViewScrollbar):
16900 (WebCore::ScrollView::setHorizontalScrollbarMode):
16901 (WebCore::ScrollView::setVerticalScrollbarMode):
16902 (WebCore::ScrollView::horizontalScrollbarMode):
16903 (WebCore::ScrollView::verticalScrollbarMode):
16904 (WebCore::ScrollView::convertSelfToChild):
16905 * platform/gtk/ScrollViewGtk.cpp:
16906 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
16907 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
16908 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
16909 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
16910 (WebCore::ScrollView::updateScrollbars):
16911 (WebCore::ScrollView::scrollbarUnderMouse):
16912 (WebCore::ScrollView::isScrollViewScrollbar):
16913 (WebCore::ScrollView::paint):
16914 (WebCore::ScrollView::scroll):
16915 * platform/mac/ScrollViewMac.mm:
16916 (WebCore::ScrollView::platformSetScrollbarModes):
16917 (WebCore::ScrollView::platformScrollbarModes):
16918 * platform/qt/ScrollViewQt.cpp:
16919 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
16920 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
16921 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
16922 (WebCore::ScrollView::horizontalScrollbar):
16923 (WebCore::ScrollView::verticalScrollbar):
16924 (WebCore::ScrollView::invalidateScrollbars):
16925 (WebCore::ScrollView::updateScrollbars):
16926 (WebCore::ScrollView::scrollbarUnderMouse):
16927 (WebCore::ScrollView::paint):
16928 (WebCore::ScrollView::scroll):
16929 * platform/win/ScrollViewWin.cpp:
16930 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
16931 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
16932 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
16933 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
16934 (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling):
16935 (WebCore::ScrollView::ScrollViewPrivate::allowsScrolling):
16936 (WebCore::ScrollView::suppressScrollbars):
16937 (WebCore::ScrollView::updateScrollbars):
16938 (WebCore::ScrollView::scrollbarUnderMouse):
16939 (WebCore::ScrollView::paint):
16940 (WebCore::ScrollView::scroll):
16941 * platform/wx/ScrollViewWx.cpp:
16942 (WebCore::ScrollView::platformSetScrollbarModes):
16943 (WebCore::ScrollView::platformScrollbarModes):
16944
ddkilzer@apple.com25e9d6e2008-09-26 20:47:58 +0000169452008-09-26 David Kilzer <ddkilzer@apple.com>
16946
16947 Fix Mac build with XPATH and XSLT disabled
16948
16949 Reviewed by Alexey.
16950
16951 * bindings/objc/DOMUtility.mm:
16952 (JSC::createDOMWrapper): Conditionalize code with ENABLE(XPATH).
16953 * dom/XMLTokenizerLibxml2.cpp:
16954 (WebCore::errorFunc): Conditionalize method with ENABLE(XSLT) to
16955 prevent an unused code warning.
16956
kmccullough@apple.comd9c02f82008-09-26 17:57:55 +0000169572008-09-26 Kevin McCullough <kmccullough@apple.com>
16958
16959 Rubber stamped by Tim Hatcher.
16960
16961 Bug 21098: Crashing under Console::log
16962 - Speculative ASSERT to help find the problem.
16963
16964 * page/InspectorController.cpp:
16965 (WebCore::ConsoleMessage::isEqual):
16966
zecke@webkit.org00c54bb2008-09-26 17:56:08 +0000169672008-09-26 Holger Hans Peter Freyther <zecke@selfish.org>
16968
16969 [gtk+] Build fix for the latest ScrollView changes
16970
16971 * platform/gtk/ScrollViewGtk.cpp:
16972 (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
16973 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
16974
timothy@apple.comf49116e2008-09-26 17:27:52 +0000169752008-09-26 Timothy Hatcher <timothy@apple.com>
16976
16977 Fixes a bug where the console message repeat count would be wrong
16978 when typing commands in between repeated messages.
16979
16980 https://bugs.webkit.org/show_bug.cgi?id=21145
16981
16982 Reviewed by Kevin McCullough.
16983
16984 * page/InspectorController.cpp:
16985 (WebCore::InspectorController::clearConsoleMessages): Reset m_groupLevel.
16986 (WebCore::InspectorController::didCommitLoad): Call clearConsoleMessages.
16987 * page/inspector/Console.js:
16988 (WebInspector.Console.prototype.addMessage): Remember the original repeat count
16989 for each message as totalRepeatCount, since we now modify repeatCount to mean
16990 repeats since previous console command. If repeatCountBeforeCommand is a number,
16991 subtract that value from the repeatCount.
16992 (WebInspector.Console.prototype.clearMessages): Delete the repeatCountBeforeCommand
16993 and commandSincePreviousMessage properties.
16994
eric.carlson@apple.comf6546a92008-09-26 17:26:39 +0000169952008-09-26 Eric Carlson <eric.carlson@apple.com>
16996
16997 Reviewed by Antti
16998
16999 https://bugs.webkit.org/show_bug.cgi?id=21116
17000 <rdar://problem/5726325> Audio from <video> can still be heard after navigating
17001 back to page with <video>, then closing tab
17002
17003 Rename willSaveToCache/didRestoreFromCache callbacks to documentWillBecomeInactive/
17004 documentDidBecomeActive, and post documentWillBecomeInactive when a page is marked for
17005 deletion.
17006
17007 * dom/Document.cpp:
17008 (WebCore::Document::documentWillBecomeInactive):
17009 (WebCore::Document::documentDidBecomeActive):
17010 (WebCore::Document::registerForDocumentActivationCallbacks):
17011 (WebCore::Document::unregisterForDocumentActivationCallbacks):
17012 * dom/Document.h:
17013 * dom/Element.h:
17014 (WebCore::Element::documentWillBecomeInactive):
17015 (WebCore::Element::documentDidBecomeActive):
17016 * history/CachedPage.cpp:
17017 (WebCore::CachedPage::CachedPage):
17018 * html/HTMLFormElement.cpp:
17019 (WebCore::HTMLFormElement::~HTMLFormElement):
17020 (WebCore::HTMLFormElement::parseMappedAttribute):
17021 (WebCore::HTMLFormElement::documentDidBecomeActive):
17022 (WebCore::HTMLFormElement::willMoveToNewOwnerDocument):
17023 (WebCore::HTMLFormElement::didMoveToNewOwnerDocument):
17024 * html/HTMLFormElement.h:
17025 * html/HTMLInputElement.cpp:
17026 (WebCore::HTMLInputElement::~HTMLInputElement):
17027 (WebCore::HTMLInputElement::setInputType):
17028 (WebCore::HTMLInputElement::parseMappedAttribute):
17029 (WebCore::HTMLInputElement::needsActivationCallback):
17030 (WebCore::HTMLInputElement::registerForActivationCallbackIfNeeded):
17031 (WebCore::HTMLInputElement::unregisterForActivationCallbackIfNeeded):
17032 (WebCore::HTMLInputElement::documentDidBecomeActive):
17033 (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
17034 (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
17035 * html/HTMLInputElement.h:
17036 * html/HTMLMediaElement.cpp:
17037 (WebCore::HTMLMediaElement::HTMLMediaElement):
17038 (WebCore::HTMLMediaElement::~HTMLMediaElement):
17039 (WebCore::HTMLMediaElement::documentWillBecomeInactive):
17040 (WebCore::HTMLMediaElement::documentDidBecomeActive):
17041 * html/HTMLMediaElement.h:
17042 (WebCore::HTMLMediaElement::inActiveDocument):
17043 * loader/FrameLoader.cpp:
17044 (WebCore::FrameLoader::opened):
17045 * page/Page.cpp:
17046 (WebCore::Page::~Page):
17047 * rendering/RenderMedia.cpp:
17048 (WebCore::RenderMedia::updateControls):
17049 * rendering/RenderVideo.cpp:
17050 (WebCore::RenderVideo::updatePlayer):
17051 * svg/SVGSVGElement.cpp:
17052 (WebCore::SVGSVGElement::SVGSVGElement):
17053 (WebCore::SVGSVGElement::~SVGSVGElement):
17054 (WebCore::SVGSVGElement::documentWillBecomeInactive):
17055 (WebCore::SVGSVGElement::documentDidBecomeActive):
17056 * svg/SVGSVGElement.h:
17057
hausmann@webkit.org8d07fe62008-09-26 16:30:34 +0000170582008-09-26 Ariya Hidayat <ariya.hidayat@trolltech.com>
17059
17060 Reviewed by Simon
17061
17062 Fix the build inside Qt, don't create faulty prl files for now.
17063
17064 * WebCore.pro:
17065
hausmann@webkit.org809f4242008-09-26 13:17:31 +0000170662008-09-26 Simon Hausmann <hausmann@webkit.org>
17067
17068 Fix compilation on Qt/Windows
17069
17070 * Add WebCore/ to the include path so that config.h is found that enables JSC
17071 * Link against winmm for the multimedia timer functions
17072 * Include DateMath.h instead of JavaScriptCore/DateMath.h as file is in the kjs/
17073 subdirectory
17074 * In PluginViewWin.cpp don't use setPlatformWidget with the HWND for the Qt/Windows port
17075 but set m_window directly as setPlatformWidget takes a QWidget*.
17076
17077 * WebCore.pro:
17078 * platform/win/SystemTimeWin.cpp:
17079 * plugins/win/PluginViewWin.cpp:
17080 (WebCore::PluginView::init):
17081
oliver@apple.com38feb8e2008-09-26 11:53:40 +0000170822008-09-26 Oliver Hunt <oliver@apple.com>
17083
17084 Reviewed by Maciej Stachowiak.
17085
17086 Bug 21054: Construction of certain DOM objects is heavily regressed by r36675
17087 <https://bugs.webkit.org/show_bug.cgi?id=21054>
17088
17089 This performance regression is actually just a symptom of a correctness
17090 bug. The constructor objects for a number of properties that have security
17091 checks on access were returning new objects each time. The most obvious
17092 symptom of this bug is that window.Image != window.Image, etc.
17093
17094 The solution to this is to make sure we cache these constructors
17095 in the same way as all the other DOM constructors. To achieve this
17096 without causing any refcount cycles it is necessary to replace the
17097 refcounted document pointer in the Image, MessageChannel, Option,
17098 XMLHttpRequest, and Audio constructor objects with a reference to
17099 the document's JS wrapper.
17100
17101 Tests: fast/dom/constructors-cached-navigate.html
17102 fast/dom/constructors-cached.html
17103
17104 * WebCore.xcodeproj/project.pbxproj:
17105 * bindings/js/JSAudioConstructor.cpp:
17106 (WebCore::JSAudioConstructor::mark):
17107 * bindings/js/JSAudioConstructor.h:
17108 (WebCore::JSAudioConstructor::document):
17109 * bindings/js/JSDOMWindowBase.cpp:
17110 (WebCore::getDOMConstructor):
17111 (WebCore::JSDOMWindowBase::getValueProperty):
17112 * bindings/js/JSDOMWindowBase.h:
17113 * bindings/js/JSHTMLOptionElementConstructor.cpp:
17114 (WebCore::JSHTMLOptionElementConstructor::mark):
17115 * bindings/js/JSHTMLOptionElementConstructor.h:
17116 (WebCore::JSHTMLOptionElementConstructor::document):
17117 * bindings/js/JSImageConstructor.cpp:
17118 (WebCore::JSImageConstructor::mark):
17119 * bindings/js/JSImageConstructor.h:
17120 (WebCore::JSImageConstructor::document):
17121 * bindings/js/JSXMLHttpRequestConstructor.cpp:
17122 (WebCore::JSXMLHttpRequestConstructor::mark):
17123 * bindings/js/JSXMLHttpRequestConstructor.h:
17124 (WebCore::JSXMLHttpRequestConstructor::document):
17125
hausmann@webkit.org0c5efc22008-09-26 10:55:32 +0000171262008-09-26 Simon Hausmann <hausmann@webkit.org>
17127
17128 Unreviewed one-liner build fix for the Qt/Windows build.
17129
17130 The build requires NPAPI support to be enabled, fix the condition in
17131 the .pro file for that.
17132
17133 * WebCore.pro:
17134
hausmann@webkit.org1ba35342008-09-26 10:51:33 +0000171352008-09-26 Trenton Schulz <twschulz@trolltech.com>
17136
17137 Reviewed by Simon.
17138
17139 Fix compilation with the Qt/Cocoa port.
17140
17141 * platform/qt/ScrollViewQt.cpp:
17142 (WebCore::ScrollView::updateScrollbars):
17143
hausmann@webkit.orge359dd12008-09-26 09:37:09 +0000171442008-09-26 Simon Hausmann <hausmann@webkit.org>
17145
17146 Reviewed by Holger.
17147
hausmann@webkit.org9f2ec002008-09-26 09:37:20 +000017148 Fix compilation with VC9SP1, work around bug in TR1 library by
17149 disabling it.
17150
17151 * WebCore.pro:
17152
171532008-09-26 Simon Hausmann <hausmann@webkit.org>
17154
17155 Reviewed by Holger.
17156
hausmann@webkit.orge359dd12008-09-26 09:37:09 +000017157 Fix an lupdate() warning.
17158
17159 Don't use tr() in a class that is not a QObject, use
17160 QCoreApplication::translate() directly.
17161
17162 * platform/qt/ScrollbarQt.cpp:
17163 (WebCore::Scrollbar::handleContextMenuEvent):
17164
hyatt@apple.com7eedf8f2008-09-26 05:40:50 +0000171652008-09-25 David Hyatt <hyatt@apple.com>
17166
hyatt@apple.com4c833152008-09-26 06:21:22 +000017167 Remove the scrollTo() method from FrameView, since it is not used by anyone.
17168
17169 Reviewed by Oliver Hunt
17170
17171 * page/FrameView.cpp:
17172 * page/FrameView.h:
17173
171742008-09-25 David Hyatt <hyatt@apple.com>
17175
hyatt@apple.com5c94d2e2008-09-26 06:15:54 +000017176 Make scrollRectIntoViewRecursively cross-platform.
17177
17178 Reviewed by Oliver Hunt
17179
17180 * platform/ScrollView.cpp:
17181 (WebCore::ScrollView::scrollRectIntoViewRecursively):
17182 * platform/gtk/ScrollViewGtk.cpp:
17183 * platform/mac/ScrollViewMac.mm:
17184 * platform/qt/ScrollViewQt.cpp:
17185 * platform/win/ScrollViewWin.cpp:
17186 * platform/wx/ScrollViewWx.cpp:
17187
171882008-09-25 David Hyatt <hyatt@apple.com>
17189
hyatt@apple.com25cd25e2008-09-26 06:07:14 +000017190 https://bugs.webkit.org/show_bug.cgi?id=21133
17191
17192 Rename resizeContents method on ScrollView to setContentsSize (to match contentsSize()). Make it
17193 cross-platform.
17194
17195 Reviewed by Oliver Hunt
17196
17197 * loader/FrameLoader.cpp:
17198 (WebCore::FrameLoader::begin):
17199 * page/FrameView.cpp:
17200 (WebCore::FrameView::adjustViewSize):
17201 * platform/ScrollView.cpp:
17202 (WebCore::ScrollView::setContentsSize):
17203 * platform/ScrollView.h:
17204 (WebCore::ScrollView::updateScrollbars):
17205 * platform/gtk/ScrollViewGtk.cpp:
17206 * platform/mac/ScrollViewMac.mm:
17207 (WebCore::ScrollView::platformSetContentsSize):
17208 * platform/qt/ScrollViewQt.cpp:
17209 * platform/win/ScrollViewWin.cpp:
17210 * platform/wx/ScrollViewWx.cpp:
17211 (WebCore::ScrollView::platformSetContentsSize):
17212
172132008-09-25 David Hyatt <hyatt@apple.com>
17214
hyatt@apple.com7eedf8f2008-09-26 05:40:50 +000017215 https://bugs.webkit.org/show_bug.cgi?id=21132
17216
17217 Clean up the methods that actually do the scrolling in ScrollView.
17218
17219 Reviewed by Oliver Hunt
17220
17221 * html/HTMLBodyElement.cpp:
17222 (WebCore::HTMLBodyElement::setScrollLeft):
17223 (WebCore::HTMLBodyElement::setScrollTop):
17224 * loader/FrameLoader.cpp:
17225 (WebCore::FrameLoader::restoreScrollPositionAndViewState):
17226 * loader/ImageDocument.cpp:
17227 (WebCore::ImageDocument::imageClicked):
17228 * page/DOMWindow.cpp:
17229 (WebCore::DOMWindow::scrollBy):
17230 (WebCore::DOMWindow::scrollTo):
17231 * page/FrameView.cpp:
17232 (WebCore::FrameView::scrollTo):
17233 (WebCore::FrameView::setScrollPosition):
17234 * page/FrameView.h:
17235 * platform/ScrollView.cpp:
17236 (WebCore::ScrollView::maximumScrollPosition):
17237 * platform/ScrollView.h:
17238 (WebCore::ScrollView::contentsWidth):
17239 (WebCore::ScrollView::contentsHeight):
17240 (WebCore::ScrollView::scrollBy):
17241 * platform/gtk/ScrollViewGtk.cpp:
17242 (WebCore::ScrollView::setScrollPosition):
17243 * platform/mac/ScrollViewMac.mm:
17244 (WebCore::ScrollView::setScrollPosition):
17245 * platform/qt/ScrollViewQt.cpp:
17246 (WebCore::ScrollView::setScrollPosition):
17247 (WebCore::ScrollView::scrollRectIntoViewRecursively):
17248 * platform/win/ScrollViewWin.cpp:
17249 (WebCore::ScrollView::setScrollPosition):
17250 (WebCore::ScrollView::scrollRectIntoViewRecursively):
17251 * platform/wx/ScrollViewWx.cpp:
17252 (WebCore::ScrollView::setScrollPosition):
17253 * rendering/RenderLayer.cpp:
17254 (WebCore::RenderLayer::scrollByRecursively):
17255 (WebCore::RenderLayer::scrollRectToVisible):
17256
mitz@apple.com5c920f12008-09-26 05:25:41 +0000172572008-09-25 Dan Bernstein <mitz@apple.com>
17258
17259 - attempted Windows build fix
17260
17261 * platform/win/ScrollViewWin.cpp:
17262 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
17263 (WebCore::ScrollView::setContentsPos):
17264 (WebCore::ScrollView::paint):
17265
timothy@apple.comd884aae2008-09-26 04:35:48 +0000172662008-09-25 Timothy Hatcher <timothy@apple.com>
17267
17268 Revert the padding changes done in r36905 to prevent the
17269 scrollbar from overlapping the URLs in the Console.
17270
17271 https://bugs.webkit.org/show_bug.cgi?id=21126
17272
17273 * page/inspector/inspector.css:
17274
hyatt@apple.comc01fb232008-09-26 04:28:25 +0000172752008-09-25 David Hyatt <hyatt@apple.com>
17276
17277 https://bugs.webkit.org/show_bug.cgi?id=21129
17278
17279 Refactor contents size and scroll offset to be cross-platform. Reduce further the number
17280 of platform-specific methods required of ScrollView implementations.
17281
17282 Reviewed by Tim Hatcher
17283
17284 * dom/MouseRelatedEvent.cpp:
17285 (WebCore::contentsX):
17286 (WebCore::contentsY):
17287 * html/HTMLBodyElement.cpp:
17288 (WebCore::HTMLBodyElement::scrollLeft):
17289 (WebCore::HTMLBodyElement::setScrollLeft):
17290 (WebCore::HTMLBodyElement::scrollTop):
17291 (WebCore::HTMLBodyElement::setScrollTop):
17292 * loader/FrameLoader.cpp:
17293 (WebCore::FrameLoader::saveScrollPositionAndViewStateToItem):
17294 * page/DOMWindow.cpp:
17295 (WebCore::DOMWindow::scrollX):
17296 (WebCore::DOMWindow::scrollY):
17297 * page/EventHandler.cpp:
17298 (WebCore::EventHandler::hitTestResultAtPoint):
17299 * page/FrameView.cpp:
17300 (WebCore::FrameView::scrollTo):
17301 (WebCore::FrameView::windowClipRect):
17302 * platform/ScrollView.cpp:
17303 (WebCore::ScrollView::visibleContentRect):
17304 (WebCore::ScrollView::contentsSize):
17305 (WebCore::ScrollView::platformContentsSize):
17306 * platform/ScrollView.h:
17307 (WebCore::ScrollView::scrollPosition):
17308 (WebCore::ScrollView::scrollOffset):
17309 (WebCore::ScrollView::scrollX):
17310 (WebCore::ScrollView::scrollY):
17311 (WebCore::ScrollView::contentsWidth):
17312 (WebCore::ScrollView::contentsHeight):
17313 * platform/gtk/ScrollViewGtk.cpp:
17314 (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged):
17315 (WebCore::ScrollView::setGtkAdjustments):
17316 (WebCore::ScrollView::resizeContents):
17317 (WebCore::ScrollView::contentsWidth):
17318 (WebCore::ScrollView::contentsHeight):
17319 (WebCore::ScrollView::scrollOffset):
17320 (WebCore::ScrollView::maximumScroll):
17321 (WebCore::ScrollView::scrollBy):
17322 (WebCore::ScrollView::suppressScrollbars):
17323 (WebCore::ScrollView::setHScrollbarMode):
17324 (WebCore::ScrollView::setVScrollbarMode):
17325 (WebCore::ScrollView::setScrollbarsMode):
17326 (WebCore::ScrollView::setFrameGeometry):
17327 (WebCore::ScrollView::updateScrollbars):
17328 * platform/mac/ScrollViewMac.mm:
17329 (WebCore::ScrollView::platformContentsSize):
17330 (WebCore::ScrollView::scrollBy):
17331 * platform/mac/WidgetMac.mm:
17332 (WebCore::Widget::convertFromContainingWindow):
17333 (WebCore::Widget::convertToContainingWindow):
17334 * platform/qt/ScrollViewQt.cpp:
17335 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
17336 (WebCore::ScrollView::resizeContents):
17337 (WebCore::ScrollView::setFrameGeometry):
17338 (WebCore::ScrollView::scrollOffset):
17339 (WebCore::ScrollView::maximumScroll):
17340 (WebCore::ScrollView::scrollBy):
17341 (WebCore::ScrollView::setHScrollbarMode):
17342 (WebCore::ScrollView::setVScrollbarMode):
17343 (WebCore::ScrollView::setScrollbarsMode):
17344 (WebCore::ScrollView::updateScrollbars):
17345 * platform/win/ScrollViewWin.cpp:
17346 (WebCore::ScrollView::ScrollViewPrivate::valueChanged):
17347 (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling):
17348 (WebCore::ScrollView::resizeContents):
17349 (WebCore::ScrollView::setFrameGeometry):
17350 (WebCore::ScrollView::scrollOffset):
17351 (WebCore::ScrollView::maximumScroll):
17352 (WebCore::ScrollView::scrollBy):
17353 (WebCore::ScrollView::setHScrollbarMode):
17354 (WebCore::ScrollView::setVScrollbarMode):
17355 (WebCore::ScrollView::setScrollbarsMode):
17356 (WebCore::ScrollView::updateScrollbars):
17357 * platform/wx/ScrollViewWx.cpp:
17358 (WebCore::ScrollView::platformVisibleContentRect):
17359 (WebCore::ScrollView::platformContentsSize):
17360 * rendering/RenderBlock.cpp:
17361 (WebCore::RenderBlock::nodeAtPoint):
17362 * rendering/RenderLayer.cpp:
17363 (WebCore::RenderLayer::scrollRectToVisible):
17364 (WebCore::RenderLayer::calculateClipRects):
17365 (WebCore::RenderLayer::calculateRects):
17366 * rendering/RenderView.cpp:
17367 (WebCore::RenderView::absolutePosition):
17368 (WebCore::RenderView::computeAbsoluteRepaintRect):
17369
dsmith@webkit.orgbee65b52008-09-26 02:36:38 +0000173702008-09-25 David Smith <catfish.man@gmail.com>
17371
dsmith@webkit.org0fedb622008-09-26 04:05:57 +000017372 Reviewed by Dave Hyatt.
17373
17374 Fix a nasty regression I introduced in the previous commit, which caused infinite recursion on facebook.
17375
17376 * dom/Element.cpp:
17377 (WebCore::Element::rareData):
17378 * dom/Element.h:
17379 * dom/Node.cpp:
17380 (WebCore::Node::rareData):
17381 * dom/Node.h:
17382
173832008-09-25 David Smith <catfish.man@gmail.com>
17384
dsmith@webkit.orgbee65b52008-09-26 02:36:38 +000017385 Reviewed by Darin Adler.
17386
17387 https://bugs.webkit.org/show_bug.cgi?id=20980
17388 Split off uncommonly used data from Node similar to ElementRareData
17389
17390 Saves an OwnPtr and a short on Node, as well as providing room for an isContainer bit,
17391 which in turn allows inlining firstChild(), lastChild(), childNodeCount(), and childNode()
17392 for a 5-10+% performance win on SlickSpeed and assorted speedups on other tests.
17393
17394 * WebCore.base.exp:
17395 * WebCore.xcodeproj/project.pbxproj:
17396 * dom/ChildNodeList.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
17397 * dom/ContainerNode.cpp: Set isContainer to true
17398 (WebCore::ContainerNode::ContainerNode):
17399 * dom/ContainerNode.h: These Node inlines are here to avoid including ContainerNode.h in Node.h
17400 (WebCore::Node::containerChildNodeCount): Use ContainerNode's definition, having proved that the Node is a container
17401 (WebCore::Node::containerChildNode): ditto
17402 (WebCore::Node::containerFirstChild): ditto
17403 (WebCore::Node::containerLastChild): ditto
17404 * dom/Element.cpp: Most of the changes here are moving ElementRareData to ElementRareData.h and NodeRareData.h
17405 (WebCore::Element::Element):
17406 (WebCore::Element::~Element):
17407 (WebCore::Element::rareData):
17408 (WebCore::Element::ensureRareData): Renamed from createRareData
17409 (WebCore::Element::createRareData): Used by ensureRareData to get the correct rareData type
17410 (WebCore::Element::attach): Check hasRareData rather than null-checking rareData()
17411 (WebCore::Element::detach): ditto
17412 (WebCore::Element::recalcStyle): ditto
17413 (WebCore::Element::focus):
17414 (WebCore::Element::minimumSizeForResizing): ditto
17415 (WebCore::Element::setMinimumSizeForResizing): ditto
17416 (WebCore::Element::computedStyle):
17417 (WebCore::Element::cancelFocusAppearanceUpdate): ditto
17418 * dom/Element.h:
17419 * dom/ElementRareData.h: Added; everything copied from Element.cpp
17420 (WebCore::defaultMinimumSizeForResizing):
17421 (WebCore::ElementRareData::ElementRareData):
17422 (WebCore::ElementRareData::resetComputedStyle):
17423 * dom/EventTargetNode.cpp:
17424 (WebCore::EventTargetNode::EventTargetNode): Pass the isContainer flag up the chain
17425 * dom/EventTargetNode.h:
17426 * dom/Node.cpp:
17427 (WebCore::Node::Node):
17428 (WebCore::Node::~Node): rareData cleanup code moved from Element and changed to use hasRareData
17429 (WebCore::Node::rareData):
17430 (WebCore::Node::ensureRareData):
17431 (WebCore::Node::createRareData):
17432 (WebCore::Node::tabIndex): nonzero tab indexes are now in rareData
17433 (WebCore::Node::setTabIndexExplicitly):
17434 (WebCore::Node::childNodes): NodeLists are now in rareData
17435 (WebCore::Node::setFocus):
17436 (WebCore::Node::rareDataFocused):
17437 (WebCore::Node::isFocusable):
17438 (WebCore::Node::isKeyboardFocusable):
17439 (WebCore::Node::registerDynamicNodeList): NodeLists are now in rareData
17440 (WebCore::Node::unregisterDynamicNodeList): ditto
17441 (WebCore::Node::notifyLocalNodeListsAttributeChanged): ditto
17442 (WebCore::Node::notifyLocalNodeListsChildrenChanged): ditto
17443 (WebCore::Node::getElementsByName): ditto
17444 (WebCore::Node::getElementsByClassName): ditto
17445 * dom/Node.h:
17446 (WebCore::Node::firstChild): Use isContainerNode() to devirtualize
17447 (WebCore::Node::lastChild): ditto
17448 (WebCore::Node::isContainerNode): Take advantage of a newly freed bit to store whether we're a container
17449 (WebCore::Node::focused): focus is in rareData if set
17450 (WebCore::Node::childTypeAllowed):
17451 (WebCore::Node::childNodeCount): Use isContainerNode() to devirtualize
17452 (WebCore::Node::childNode): ditto
17453 (WebCore::Node::hasRareData): Use another newly freed bit to store whether we have rare data; avoids doing hash lookups in the common case
17454 * dom/NodeRareData.h: Added. Most of this is just properties moved from Node
17455 (WebCore::NodeListsNodeData::~NodeListsNodeData): Moved from Node.cpp since we NodeRareData needs to put them in a HashTable :(
17456 (WebCore::NodeRareData::NodeRareData):
17457 (WebCore::NodeRareData::rareDataMap):
17458 (WebCore::NodeRareData::rareDataFromMap):
17459 (WebCore::NodeRareData::clearNodeLists):
17460 (WebCore::NodeRareData::setNodeLists):
17461 (WebCore::NodeRareData::nodeLists):
17462 (WebCore::NodeRareData::tabIndex):
17463 (WebCore::NodeRareData::setTabIndex):
17464 (WebCore::NodeRareData::tabIndexSetExplicitly):
17465 * dom/TreeWalker.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
17466 * xml/XPathUtil.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc...
17467
zecke@webkit.orge1370432008-09-26 01:47:30 +0000174682008-09-25 Holger Hans Peter Freyther <zecke@selfish.org>
17469
17470 Reviewed by Simon Hausmann.
17471
zecke@webkit.org9ea87f62008-09-26 01:54:04 +000017472 [qt] ImageBuffer::toDataURL implementation
17473
17474 There needs to be a Qt specific test result for the above mentioned
17475 implementation.
17476
17477 * platform/graphics/qt/ImageBufferQt.cpp:
17478 (WebCore::ImageBuffer::toDataURL):
17479
174802008-09-25 Holger Hans Peter Freyther <zecke@selfish.org>
17481
17482 Reviewed by Simon Hausmann.
17483
zecke@webkit.orge1370432008-09-26 01:47:30 +000017484 [qt] Implement SharedBuffer for Qt.
17485
17486 * WebCore.pro:
17487 * platform/qt/SharedBufferQt.cpp: Added.
17488 (WebCore::SharedBuffer::createWithContentsOfFile):
17489 * platform/qt/TemporaryLinkStubs.cpp:
17490
ddkilzer@apple.com91eae552008-09-26 00:53:18 +0000174912008-09-25 Feng Qian <feng@chromium.org>
17492
17493 Fix bug: https://bugs.webkit.org/show_bug.cgi?id=21032
17494 <rdar://problem/6243032>
17495
17496 Reviewed by Dave Hyatt.
17497
17498 Test: fast/dom/attribute-downcast-right.html
17499
17500 Add isMappedAttribute function to Attribute for checking if an object
17501 is an instance of MappedAttribute. Removed attributeItem,
17502 getAttributeItem functions from NamedMappedAttrMap, and callers
17503 expecting MappedAttribute have to check isMappedAttribute before
17504 downcasting the return value to MappedAttribute.
17505
17506 * css/CSSStyleSelector.cpp:
17507 (WebCore::CSSStyleSelector::styleForElement):
17508 * dom/Attribute.h:
17509 (WebCore::Attribute::isMappedAttribute):
17510 * dom/MappedAttribute.h:
17511 (WebCore::MappedAttribute::isMappedAttribute):
17512 * dom/NamedMappedAttrMap.cpp:
17513 (WebCore::NamedMappedAttrMap::declCount):
17514 (WebCore::NamedMappedAttrMap::mapsEquivalent):
17515 * dom/NamedMappedAttrMap.h:
17516 * dom/StyledElement.cpp:
17517 (WebCore::StyledElement::attributeChanged):
17518 * html/HTMLInputElement.cpp:
17519 (WebCore::HTMLInputElement::setInputType):
17520 * svg/SVGForeignObjectElement.cpp:
17521 (WebCore::addCSSPropertyAndNotifyAttributeMap):
17522 * svg/SVGStyledElement.cpp:
17523 (WebCore::SVGStyledElement::getPresentationAttribute):
17524
hyatt@apple.com79be62c2008-09-25 22:25:22 +0000175252008-09-25 David Hyatt <hyatt@apple.com>
17526
17527 https://bugs.webkit.org/show_bug.cgi?id=21120
17528
17529 Make visibleContentRect cross-platform. Note this does add new horizontal/verticalScrollbar accessors
17530 to a bunch of platforms. This is a temporary evil until the scrollbars get made cross-platform (and I
17531 didn't want to mix that change in with this patch).
17532
17533 Reviewed by Sam Weinig
17534
17535 * page/Frame.cpp:
17536 (WebCore::Frame::markAllMatchesForText):
17537 * page/FrameView.cpp:
17538 (WebCore::FrameView::repaintContentRectangle):
17539 (WebCore::FrameView::windowClipRect):
17540 (WebCore::FrameView::updateControlTints):
17541 * platform/ScrollView.cpp:
17542 (WebCore::ScrollView::visibleContentRect):
17543 (WebCore::ScrollView::platformVisibleContentRect):
17544 * platform/ScrollView.h:
17545 (WebCore::ScrollView::visibleWidth):
17546 (WebCore::ScrollView::visibleHeight):
17547 * platform/gtk/ScrollViewGtk.cpp:
17548 (WebCore::ScrollView::horizontalScrollbar):
17549 (WebCore::ScrollView::verticalScrollbar):
17550 * platform/mac/ScrollViewMac.mm:
17551 (WebCore::ScrollView::horizontalScrollbar):
17552 (WebCore::ScrollView::verticalScrollbar):
17553 (WebCore::ScrollView::platformVisibleContentRect):
17554 * platform/qt/ScrollViewQt.cpp:
17555 (WebCore::ScrollView::horizontalScrollbar):
17556 (WebCore::ScrollView::verticalScrollbar):
17557 * platform/win/ScrollViewWin.cpp:
17558 (WebCore::ScrollView::horizontalScrollbar):
17559 (WebCore::ScrollView::verticalScrollbar):
17560 * platform/wx/ScrollViewWx.cpp:
17561 (WebCore::ScrollView::platformVisibleContentRect):
17562 (WebCore::ScrollView::horizontalScrollbar):
17563 (WebCore::ScrollView::verticalScrollbar):
17564 * rendering/RenderLayer.cpp:
17565 (WebCore::RenderLayer::scrollRectToVisible):
17566 (WebCore::frameVisibleRect):
17567 * rendering/RenderView.cpp:
17568 (WebCore::RenderView::viewRect):
17569
dsmith@webkit.orgfbfe33a2008-09-25 20:55:31 +0000175702008-09-25 David Smith <catfish.man@gmail.com>
17571
17572 Reviewed by Timothy Hatcher
17573
17574 https://bugs.webkit.org/show_bug.cgi?id=21052
17575 Generalize id selector special case for querySelectorAll
17576
17577 By checking the element we get with getElementById against the selector, we can use the special case in many more circumstances.
17578 Changes results on http://native.khan.mozilla.org
17579 from
17580 #title: 2ms
17581 h1#title: 55ms
17582 div #title: 55ms
17583
17584 to:
17585 #title: 1ms
17586 h1#title: 2ms
17587 div #title: 5ms
17588
17589 * dom/Node.cpp:
17590 (WebCore::Node::querySelector):
17591 * dom/SelectorNodeList.cpp:
17592 (WebCore::createSelectorNodeList):
17593
hyatt@apple.com64a3be22008-09-25 20:49:17 +0000175942008-09-25 David Hyatt <hyatt@apple.com>
17595
17596 https://bugs.webkit.org/show_bug.cgi?id=21118
17597
17598 Make the concept of whether you can blit on scroll cross-platform on ScrollView.
17599
17600 Reviewed by Sam Weinig
17601
17602 * page/FrameView.cpp:
17603 (WebCore::FrameView::clear):
17604 (WebCore::FrameView::layout):
17605 (WebCore::FrameView::setUseSlowRepaints):
17606 (WebCore::FrameView::addSlowRepaintObject):
17607 (WebCore::FrameView::removeSlowRepaintObject):
17608 * platform/ScrollView.cpp:
17609 (WebCore::ScrollView::init):
17610 (WebCore::ScrollView::addChild):
17611 (WebCore::ScrollView::removeChild):
17612 (WebCore::ScrollView::setCanBlitOnScroll):
17613 * platform/ScrollView.h:
17614 (WebCore::ScrollView::canBlitOnScroll):
17615 * platform/gtk/ScrollViewGtk.cpp:
17616 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
17617 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
17618 (WebCore::ScrollView::ScrollView):
17619 * platform/mac/ScrollViewMac.mm:
17620 (WebCore::ScrollView::ScrollView):
17621 (WebCore::ScrollView::platformAddChild):
17622 (WebCore::ScrollView::platformRemoveChild):
17623 (WebCore::ScrollView::platformSetCanBlitOnScroll):
17624 * platform/qt/ScrollViewQt.cpp:
17625 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
17626 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
17627 (WebCore::ScrollView::ScrollView):
17628 * platform/win/ScrollViewWin.cpp:
17629 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
17630 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
17631 (WebCore::ScrollView::ScrollView):
17632 * platform/wx/ScrollViewWx.cpp:
17633 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
17634 (WebCore::ScrollView::ScrollView):
17635 (WebCore::ScrollView::scrollBy):
17636
kmccullough@apple.com03b515b2008-09-25 20:29:57 +0000176372008-09-25 Kevin McCullough <kmccullough@apple.com>
17638
17639 Reviewed by Tim Hatcher.
17640
17641 Bug 21109: Console should right-align urls
17642
17643 * page/inspector/Console.js: Re-order the message elements so that when
17644 it overflows it doesn't get mixed in with the next message.
17645 * page/inspector/inspector.css:
17646
hyatt@apple.com95d18752008-09-25 20:15:44 +0000176472008-09-25 David Hyatt <hyatt@apple.com>
17648
17649 https://bugs.webkit.org/show_bug.cgi?id=21113
17650
17651 Putting r36771 back in with a fix to the addPendingSheet check in CSSImportRule::insertedIntoParent.
17652
17653 Reviewed by Darin Adler
17654
17655 * css/CSSImportRule.cpp:
17656 (WebCore::CSSImportRule::insertedIntoParent):
17657 * css/CSSRule.cpp:
17658 (WebCore::CSSRule::parentStyleSheet):
17659 (WebCore::CSSRule::parentRule):
17660 * css/CSSStyleSheet.cpp:
17661 (WebCore::CSSStyleSheet::CSSStyleSheet):
17662 * css/CSSStyleSheet.h:
17663
darin@apple.com6ca04432008-09-25 20:02:11 +0000176642008-09-25 Darin Adler <darin@apple.com>
17665
17666 Reviewed by Adele Peterson.
17667
17668 - fix https://bugs.webkit.org/show_bug.cgi?id=21115
17669 <rdar://problem/6245773> REGRESSION (r34702): Safari no longer zips
17670 bundled documents
17671
17672 * html/HTMLFormElement.cpp:
17673 (WebCore::HTMLFormElement::formData): Use files() instead of value()
17674 to get the path, since value() now returns just the basename.
17675
beidson@apple.comb9a40052008-09-25 18:37:09 +0000176762008-09-25 Brady Eidson <beidson@apple.com>
17677
17678 Rubberstamped by Mark Rowe
17679
17680 Roll out 36771 as it caused <rdar://problem/6246554>
17681 "nytimes.com doesn't display after returning to it with back/forward"
17682
17683 * css/CSSImportRule.cpp:
17684 (WebCore::CSSImportRule::insertedIntoParent):
17685 * css/CSSRule.cpp:
17686 (WebCore::CSSRule::parentStyleSheet):
17687 (WebCore::CSSRule::parentRule):
17688 * css/CSSStyleSheet.cpp:
17689 (WebCore::CSSStyleSheet::CSSStyleSheet):
17690 (WebCore::CSSStyleSheet::docLoader):
17691 * css/CSSStyleSheet.h:
17692 (WebCore::CSSStyleSheet::doc):
17693
aroben@apple.comdf5a7322008-09-25 17:47:15 +0000176942008-09-25 Adam Roben <aroben@apple.com>
17695
17696 Windows build fix
17697
17698 * WebCore.vcproj/WebCore.vcproj: Add ScrollView.cpp to the project.
17699
mitz@apple.com0565bc92008-09-25 17:27:37 +0000177002008-09-25 Dan Bernstein <mitz@apple.com>
17701
17702 - Windows build fix
17703
17704 * platform/win/ScrollViewWin.cpp:
17705 (WebCore::ScrollView::addChildPlatformWidget):
17706 (WebCore::ScrollView::removeChildPlatformWidget):
17707
timothy@apple.com7a4bf192008-09-25 17:07:43 +0000177082008-09-25 Timothy Hatcher <timothy@apple.com>
17709
17710 Fixes a leak of ConsoleMessage seen when repeated console
17711 messages occur.
17712
17713 Reviewed by Mark Rowe.
17714
17715 * page/InspectorController.cpp:
17716 (WebCore::InspectorController::addConsoleMessage): Delete the repeat
17717 since we don't add it to m_consoleMessages.
17718
kmccullough@apple.com340e7272008-09-25 16:04:20 +0000177192008-09-25 Kevin McCullough <kmccullough@apple.com>
17720
kmccullough@apple.com364f2992008-09-25 16:48:34 +000017721 Reviewed by Dan Bernstein.
17722
17723 Bug 21105: XHRs logged in the console may show the wrong URL for the
17724 source
17725 - Get the url at the time of the send() and pass it on to the XHR.
17726
17727 * bindings/js/JSXMLHttpRequestCustom.cpp:
17728 (WebCore::JSXMLHttpRequest::send):
17729 * xml/XMLHttpRequest.cpp:
17730 (WebCore::XMLHttpRequest::didFinishLoading):
17731 * xml/XMLHttpRequest.h:
17732 (WebCore::XMLHttpRequest::setLastSendURL):
17733
177342008-09-25 Kevin McCullough <kmccullough@apple.com>
17735
kmccullough@apple.com340e7272008-09-25 16:04:20 +000017736 Reviewed by Geoff and Tim.
17737
17738 Bug 20322: XHRs logged in the console do not have line numbers
17739 - Get the line number at the time of the send and pass it on to the XHR.
17740
17741 * bindings/js/JSXMLHttpRequestCustom.cpp:
17742 (WebCore::JSXMLHttpRequest::send):
17743 * xml/XMLHttpRequest.cpp:
17744 (WebCore::XMLHttpRequest::XMLHttpRequest):
17745 (WebCore::XMLHttpRequest::didFinishLoading):
17746 * xml/XMLHttpRequest.h:
17747 (WebCore::XMLHttpRequest::setLastSendLineNumber):
17748
eric.carlson@apple.comb9404142008-09-25 15:33:02 +0000177492008-09-25 Eric Carlson <eric.carlson@apple.com>
17750
17751 Reviewed by Eric Seidel.
17752
17753 <rdar://problem/6171047> HTMLMediaElement "begin" event is now "loadstart"
17754 https://bugs.webkit.org/show_bug.cgi?id=21003
17755
17756 * dom/EventNames.h: remove "begin" event
17757 * html/HTMLMediaElement.cpp:
17758 (WebCore::HTMLMediaElement::load): Post "loadstart" event instead of "begin"
17759
ap@webkit.orgcdec56d2008-09-25 11:30:02 +0000177602008-09-25 Alexey Proskuryakov <ap@webkit.org>
17761
17762 Reviewed by Eric Seidel.
17763
17764 https://bugs.webkit.org/show_bug.cgi?id=21097
17765 Calling a MessageChannel constructor from a destroyed document results in a crash
17766
17767 Test: fast/events/message-port-constructor-for-deleted-document.html
17768
17769 * bindings/js/JSMessageChannelConstructor.cpp:
17770 (WebCore::JSMessageChannelConstructor::construct):
17771 * bindings/js/JSMessageChannelConstructor.h:
17772 Made m_document a RefPtr.
17773
ap@webkit.org28b51752008-09-25 10:15:11 +0000177742008-09-24 Alexey Proskuryakov <ap@webkit.org>
17775
17776 Reviewed by Sam Weinig, Anders Carlsson, and (unofficially) Adam Barth.
17777
17778 https://bugs.webkit.org/show_bug.cgi?id=20879
17779 Implement HTML5 channel messaging
17780
17781 Tests: fast/events/message-channel-gc.html
17782 fast/events/message-port-deleted-document.html
17783 fast/events/message-port-deleted-frame.html
17784 fast/events/message-port-inactive-document.html
17785 fast/events/message-port.html
17786 http/tests/security/MessagePort/event-listener-context.html
17787
17788 * Configurations/WebCore.xcconfig:
17789 Removed unused ENABLE_CROSS_DOCUMENT_MESSAGING macro.
17790
17791 * DerivedSources.make:
17792 Added MessageChannel and MessagePort.
17793
17794 * WebCore.pro: Made MessageEvent compilation unconditional, as it could not possibly be
17795 turmed off anyway. Added new files.
17796
17797 * GNUmakefile.am:
17798 * WebCore.pro:
17799 * WebCore.vcproj/WebCore.vcproj:
17800 * WebCore.xcodeproj/project.pbxproj:
17801 * WebCoreSources.bkl:
17802 Added new files.
17803
17804 * bindings/js/JSDOMWindowBase.h:
17805 * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::getValueProperty):
17806 Added suport for window.MessageChannel constructor.
17807
17808 * bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::postMessage):
17809 * page/DOMWindow.cpp:
17810 (WebCore::DOMWindow::postMessage):
17811 * page/DOMWindow.h:
17812 * page/DOMWindow.idl:
17813 Added support for three-argument postMessage (that posts a MessagePort).
17814
17815 * dom/EventTarget.cpp:
17816 (WebCore::EventTarget::toMessagePort):
17817 * dom/EventTarget.h:
17818 * bindings/js/JSEventTargetBase.cpp: (WebCore::toJS): Added MessagePort as yet another
17819 EventTarget variant.
17820
17821 * bindings/js/JSMessageChannelConstructor.h:
17822 * bindings/js/JSMessageChannelConstructor.cpp: Added a custom constructor, so that it could
17823 take a browsing context (document) parameter.
17824
17825 * bindings/js/JSMessageChannelCustom.cpp: Added.
17826 (WebCore::JSMessageChannel::mark): JSMessageChannel uses a custom mark function to mark
17827 port1 and port2 that it owns.
17828
17829 * bindings/js/JSMessagePortCustom.cpp: Added.
17830 (WebCore::JSMessagePort::startConversation):
17831 (WebCore::JSMessagePort::addEventListener):
17832 (WebCore::JSMessagePort::removeEventListener):
17833 (WebCore::JSMessagePort::dispatchEvent):
17834 (WebCore::JSMessagePort::setOnmessage):
17835 (WebCore::JSMessagePort::onmessage):
17836 (WebCore::JSMessagePort::setOnclose):
17837 (WebCore::JSMessagePort::onclose):
17838 (WebCore::JSMessagePort::mark):
17839 * dom/MessagePort.cpp: Added.
17840 * dom/MessagePort.h: Added.
17841 * dom/MessagePort.idl: Added.
17842 Added a MessagePort implementation. Currently, it is not thread-safe at all, and only works
17843 with Documents as contexts, but in the future, it will be used for communication with worker
17844 threads.
17845
17846 * bindings/objc/DOMInternal.h: Include "DOMMessagePortInternal.h". The new APIs do not
17847 really have Obj-C bindings, as they are far from being final, but a MessagePort stub is
17848 needed for MessageEvent.
17849
17850 * bindings/scripts/CodeGeneratorJS.pm: Include PlatformString.h for MessagePort happiness.
17851
17852 * dom/Document.cpp:
17853 (WebCore::MessagePortTimer::MessagePortTimer):
17854 (WebCore::MessagePortTimer::fired):
17855 (WebCore::Document::processMessagePortMessagesSoon):
17856 (WebCore::Document::~Document):
17857 (WebCore::Document::dispatchMessagePortEvents):
17858 (WebCore::Document::createdMessagePort):
17859 (WebCore::Document::destroyedMessagePort):
17860 * dom/Document.h:
17861 Document keeps track of all MessagePort objects that were created when it was fully active
17862 in its context.
17863
17864 * dom/EventNames.h: Added closeEvent.
17865
17866 * dom/MessageChannel.cpp: Added.
17867 (WebCore::MessageChannel::MessageChannel):
17868 (WebCore::MessageChannel::~MessageChannel):
17869 * dom/MessageChannel.h: Added.
17870 (WebCore::MessageChannel::create):
17871 (WebCore::MessageChannel::port1):
17872 (WebCore::MessageChannel::port2):
17873 * dom/MessageChannel.idl: Added.
17874 Addded JSMessageChannel implementation.
17875
17876 * dom/MessageEvent.cpp:
17877 (WebCore::MessageEvent::MessageEvent):
17878 (WebCore::MessageEvent::initMessageEvent):
17879 * dom/MessageEvent.h:
17880 (WebCore::MessageEvent::create):
17881 (WebCore::MessageEvent::messagePort):
17882 * dom/MessageEvent.idl:
17883 MessageEvent has a MessagePort member now, making it possible to pass ports across
17884 documents.
17885
dsmith@webkit.org3e32f422008-09-25 08:57:31 +0000178862008-09-25 David Smith <catfish.man@gmail.com>
17887
17888 Reviewed by Eric Seidel
17889
17890 fix https://bugs.webkit.org/show_bug.cgi?id=21091
17891 Regression: querySelector matches tag names case sensitively
17892
17893 Tests: fast/dom/SelectorAPI/caseTag.html
17894 fast/dom/SelectorAPI/caseTagX.xhtml
17895
17896 * css/CSSParser.cpp:
17897 (WebCore::CSSParser::parseSelector): Add a Document argument, since tag case sensitivity is different for HTML documents
17898 * css/CSSParser.h:
17899 * dom/Node.cpp:
17900 (WebCore::Node::querySelector):
17901 (WebCore::Node::querySelectorAll):
17902
hyatt@apple.com912c1b12008-09-25 07:38:56 +0000179032008-09-24 David Hyatt <hyatt@apple.com>
17904
17905 https://bugs.webkit.org/show_bug.cgi?id=21084
17906
17907 Make the m_children member of ScrollView cross-platform. Consolidate children add/remove
17908 functionality. Add platform stubs for connecting/disconnecting the platform widgets.
17909
17910 Reviewed by Sam Weinig
17911
17912 * GNUmakefile.am:
17913 * WebCore.pro:
17914 * WebCore.vcproj/WebCore.vcproj:
17915 * WebCore.xcodeproj/project.pbxproj:
17916 * WebCoreSources.bkl:
17917 * platform/ScrollView.h:
17918 (WebCore::ScrollView::children):
17919 * platform/Widget.h:
17920 * platform/gtk/ScrollViewGtk.cpp:
17921 (WebCore::ScrollView::addChildPlatformWidget):
17922 (WebCore::ScrollView::removeChildPlatformWidget):
17923 (WebCore::ScrollView::geometryChanged):
17924 * platform/mac/ScrollViewMac.mm:
17925 (WebCore::ScrollView::addChildPlatformWidget):
17926 (WebCore::ScrollView::removeChildPlatformWidget):
17927 * platform/qt/ScrollViewQt.cpp:
17928 (WebCore::ScrollView::geometryChanged):
17929 (WebCore::ScrollView::addChildPlatformWidget):
17930 (WebCore::ScrollView::removeChildPlatformWidget):
17931 * platform/win/ScrollViewWin.cpp:
17932 (WebCore::ScrollView::geometryChanged):
17933 (WebCore::ScrollView::setParentVisible):
17934 (WebCore::ScrollView::show):
17935 (WebCore::ScrollView::hide):
17936 * platform/wx/ScrollViewWx.cpp:
17937 (WebCore::ScrollView::addChildPlatformWidget):
17938 (WebCore::ScrollView::removeChildPlatformWidget):
17939
mitz@apple.com982d2cc2008-09-25 07:16:05 +0000179402008-09-25 Dan Bernstein <mitz@apple.com>
17941
17942 Reviewed by Dave Hyatt.
17943
17944 - fix https://bugs.webkit.org/show_bug.cgi?id=21024
17945 <rdar://problem/6240821> Scrollbar not painted until hovered
17946
17947 * rendering/RenderWidget.cpp:
17948 (WebCore::RenderWidget::setWidgetGeometry): Replaced resizeWidget with
17949 this method, which sets both the location and the size.
17950 (WebCore::RenderWidget::setWidget): Replaced the call to resizeWidget
17951 with a call to the new method setWidgetGeometry. Positioning the
17952 widget correctly ensures that the scroll bars invalidate correctly when
17953 they are created and resized.
17954 * rendering/RenderWidget.h:
17955
mitz@apple.com61969a62008-09-25 00:50:05 +0000179562008-09-24 Dan Bernstein <mitz@apple.com>
17957
17958 Rubber-stamped by Sam Weinig.
17959
17960 - create a "style" subfolder under "rendering" and move style files to that folder
17961
17962 * WebCore.vcproj/WebCore.vcproj:
17963
weinig@apple.comacfb9e12008-09-25 00:39:11 +0000179642008-09-24 Sam Weinig <sam@webkit.org>
17965
17966 Reviewed by Maciej Stachowiak.
17967
17968 Remove staticFunctionGetter. There is only one remaining user of
17969 staticFunctionGetter and it can be converted to use setUpStaticFunctionSlot.
17970
17971 * bindings/js/JSDOMWindowBase.cpp:
17972 (WebCore::JSDOMWindowBase::getOwnPropertySlot):
17973
mitz@apple.com0cb3dff2008-09-24 23:40:29 +0000179742008-09-24 Jeremy Moskovich <jeremy@chromium.org>
17975
17976 Reviewed by Dan Bernstein.
17977
17978 Test: editing/spelling/inline_spelling_markers.html
17979
17980 - https://bugs.webkit.org/show_bug.cgi?id=20092
17981 Spelling markers positioned incorrectly in RTL text
17982
17983 Measure spelling markers with selectionRectForText() to fix RTL.
17984
17985 This patch also fixes hit-testing for spelling marker tool tips,
17986 which used to work only on the first line.
17987
17988 * rendering/InlineTextBox.cpp:
17989 (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
17990
hyatt@apple.come5925322008-09-24 21:28:08 +0000179912008-09-24 David Hyatt <hyatt@apple.com>
17992
hyatt@apple.com31cd6d62008-09-24 21:45:19 +000017993 https://bugs.webkit.org/show_bug.cgi?id=21074
17994
hyatt@apple.come5925322008-09-24 21:28:08 +000017995 Make sure the viewless scrollbar knows how to paint properly when transformed.
17996
17997 Reviewed by Sam Weinig
17998
17999 * platform/mac/ScrollbarThemeMac.mm:
18000 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
18001 (WebCore::ScrollbarThemeMac::paint):
18002
zimmermann@webkit.orgf0935532008-09-24 21:17:14 +0000180032008-09-24 Nikolas Zimmermann <zimmermann@kde.org>
18004
18005 Not reviewed. Try to fix win build.
18006
18007 * bindings/js/JSSVGElementInstanceCustom.cpp:
18008 (WebCore::toJS):
18009 * dom/ContainerNodeAlgorithms.h:
18010 (WebCore::removeAllChildrenInContainer):
18011 (WebCore::appendChildToContainer):
18012 (WebCore::Private::addChildNodesToDeletionQueue):
18013
180142008-09-24 Nikolas Zimmermann <zimmermann@kde.org>
18015
18016 Reviewed by Oliver.
18017
18018 Add ContainerNodeAlgorithms.h, as central place to share algorithms
18019 operating on TreeShared-derived classes with a Node-style interface.
18020
18021 This allows SVGElementInstance & ContainerNode to share code.
18022
18023 * dom/ContainerNode.cpp:
18024 (WebCore::ContainerNode::removeAllChildren):
18025 (WebCore::ContainerNode::addChild):
18026 * dom/ContainerNode.h:
18027 * dom/ContainerNodeAlgorithms.h: Added.
18028 (WebCore::removeAllChildrenInContainer):
18029 (WebCore::appendChildToContainer):
18030 (WebCore::Private::NodeRemovalDispatcher::dispatch):
18031 (WebCore::Private::addChildNodesToDeletionQueue):
18032
simon.fraser@apple.com557a0472008-09-24 21:08:23 +0000180332008-09-24 Simon Fraser <simon.fraser@apple.com>
18034
18035 Reviewed by Dave Hyatt
18036
18037 Wrap up dirtying the z-order list of the stacking context
18038 RenderLayer into a method.
18039 https://bugs.webkit.org/show_bug.cgi?id=21072
18040
18041 * rendering/RenderLayer.cpp:
18042 (WebCore::RenderLayer::setHasVisibleContent):
18043 (WebCore::RenderLayer::addChild):
18044 (WebCore::RenderLayer::removeChild):
18045 (WebCore::RenderLayer::dirtyStackingContextZOrderLists):
18046 (WebCore::RenderLayer::styleChanged):
18047 * rendering/RenderLayer.h:
18048 * rendering/RenderObject.cpp:
18049 (WebCore::RenderObject::setStyle):
18050
kmccullough@apple.comaf908e62008-09-24 20:22:23 +0000180512008-09-24 Kevin McCullough <kmccullough@apple.com>
18052
18053 Reviewed by Tim.
18054
18055 Bug 21070: REGRESSION Repeated messages with arguments are not repeated
18056 or displayed multiple times
18057 - The Insepctor Controller was comparing JSValue pointers so thought the
18058 message was not a repeat, but the JS of the inspector compared the
18059 strings and so knew it was the same message and so overwrote the old
18060 message.
18061
18062 * page/InspectorController.cpp:
18063 (WebCore::ConsoleMessage::isEqual):
18064 (WebCore::InspectorController::addMessageToConsole):
18065 (WebCore::InspectorController::addConsoleMessage):
18066 (WebCore::InspectorController::startGroup):
18067 (WebCore::InspectorController::endGroup):
18068 * page/InspectorController.h:
18069
hyatt@apple.comf4c8f172008-09-24 20:19:26 +0000180702008-09-24 David Hyatt <hyatt@apple.com>
18071
18072 Make sure the viewless Mac scrollbar responds properly to system preference changes (including the
18073 arrow placement preference and the thumb jump preference).
18074
18075 Reviewed by Adam Roben
18076
18077 * platform/Scrollbar.cpp:
18078 (WebCore::Scrollbar::Scrollbar):
18079 (WebCore::Scrollbar::~Scrollbar):
18080 * platform/ScrollbarTheme.h:
18081 (WebCore::ScrollbarTheme::registerScrollbar):
18082 (WebCore::ScrollbarTheme::unregisterScrollbar):
18083 * platform/mac/ScrollbarThemeMac.h:
18084 * platform/mac/ScrollbarThemeMac.mm:
18085 (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
18086 (+[ScrollbarPrefsObserver behaviorPrefsChanged:]):
18087 (+[ScrollbarPrefsObserver registerAsObserver]):
18088 (WebCore::ScrollbarThemeMac::registerScrollbar):
18089 (WebCore::ScrollbarThemeMac::unregisterScrollbar):
18090 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
18091 (WebCore::ScrollbarThemeMac::preferencesChanged):
18092
rwlbuis@webkit.orga5dafa8d2008-09-24 19:23:54 +0000180932008-09-24 Rob Buis <buis@kde.org>
18094
18095 Reviewed by Darin.
18096
18097 https://bugs.webkit.org/show_bug.cgi?id=20557
18098 getScreenCTM() returns wrong values
18099
18100 Use the absolute position of the svg root when
18101 determining the screen ctm.
18102
18103 Test: svg/custom/getscreenctm-in-mixed-content2.xhtml
18104
18105 * svg/SVGSVGElement.cpp:
18106 (WebCore::SVGSVGElement::getScreenCTM):
18107
hyatt@apple.com40a73652008-09-24 18:15:15 +0000181082008-09-24 David Hyatt <hyatt@apple.com>
18109
hyatt@apple.come77b7d42008-09-24 18:26:51 +000018110 Turn off support for CSS variables.
18111
18112 * ChangeLog:
18113 * css/CSSParser.cpp:
18114 (WebCore::CSSParser::createVariablesRule):
18115 (WebCore::CSSParser::addVariable):
18116 (WebCore::CSSParser::addVariableDeclarationBlock):
18117
181182008-09-24 David Hyatt <hyatt@apple.com>
18119
hyatt@apple.com40a73652008-09-24 18:15:15 +000018120 Back out the alternate forms of CSS variable call syntax (leaving only the -webkit-var version).
18121
18122 * css/CSSGrammar.y:
18123 * css/CSSParserValues.cpp:
18124 (WebCore::CSSParserValue::isVariable):
18125 * css/CSSPrimitiveValue.cpp:
18126 (WebCore::CSSPrimitiveValue::cleanup):
18127 (WebCore::CSSPrimitiveValue::getStringValue):
18128 (WebCore::CSSPrimitiveValue::cssText):
18129 (WebCore::CSSPrimitiveValue::parserValue):
18130 * css/CSSPrimitiveValue.h:
18131 (WebCore::CSSPrimitiveValue::):
18132 (WebCore::CSSPrimitiveValue::isVariable):
18133
timothy@apple.com0214f092008-09-24 16:23:17 +0000181342008-09-24 Timothy Hatcher <timothy@apple.com>
18135
18136 Fixes a regression where the "incorrect MIME-type" warning would not
18137 show up correctly in the Console or the resources sidebar.
18138
18139 Reviewed by Kevin McCullough.
18140
18141 * page/inspector/Resource.js:
18142 (WebInspector.Resource.prototype._addTip): Add the repeat count argument
18143 to the WebInspector.ConsoleMessage constructor call.
18144 (WebInspector.Resource.prototype._checkWarning): Ditto.
18145
vestbo@webkit.orgb298eda2008-09-24 13:47:06 +0000181462008-09-23 Tor Arne Vestbø <tavestbo@trolltech.com>
18147
18148 Reviewed by Simon.
18149
18150 Remove deprecated JS Qt bindings object call/construct code and fix autotests
18151
18152 * bridge/qt/qt_instance.cpp:
18153 (JSC::Bindings::QtInstance::QtInstance):
18154 * bridge/qt/qt_instance.h:
18155
jmalonzo@webkit.orgbe1da352008-09-24 07:42:39 +0000181562008-09-23 Julien Chaffraix <jchaffraix@pleyo.com>
18157
18158 Reviewed by Alp Toker. Landed by Jan Alonzo.
18159
18160 Bug 20883: [CURL] Add deferred loading
18161 https://bugs.webkit.org/show_bug.cgi?id=20883
18162
18163 Implement deferred loading for the libcURL backend using curl_easy_pause.
18164 As the method was introduced in version 7.18.0, all the code checks for libcURL
18165 version.
18166
18167 * platform/network/curl/ResourceHandleCurl.cpp:
18168 (WebCore::ResourceHandle::setDefersLoading):
18169 * platform/network/curl/ResourceHandleManager.cpp:
18170 (WebCore::writeCallback): Add an assertion that deferred loading is not
18171 activated.
18172 (WebCore::headerCallback): Ditto.
18173 (WebCore::readCallback): Ditto.
18174 (WebCore::ResourceHandleManager::dispatchSynchronousJob): Force
18175 defersLoading to be false in order to avoid triggering an assertion.
18176 (WebCore::ResourceHandleManager::initializeHandle): If deferred loading is
18177 activated, pause the easy handle.
18178
pewtermoose@webkit.org0ebdfc02008-09-24 03:24:43 +0000181792008-09-23 Matt Lilek <webkit@mattlilek.com>
18180
18181 Reviewed by Tim Hatcher.
18182
18183 Inspector search field style tweaks.
18184
18185 * page/inspector/inspector.css:
18186
zimmermann@webkit.org1acc6262008-09-24 02:23:24 +0000181872008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
18188
18189 Reviewed by Eric.
18190
18191 Fixes: https://bugs.webkit.org/show_bug.cgi?id=21046 (Several LayoutTests crash)
18192
18193 Fix missing negation in EventTargetNode::insertedIntoDocument.
18194 Made handleLocalEvents() virtual again, HTMLFormElement overrides it.
18195 Remove code, that wasn't supposed to go in in dispatchGenericEvent().
18196
18197 * dom/EventTargetNode.cpp:
18198 (WebCore::EventTargetNode::insertedIntoDocument):
18199 (WebCore::EventTargetNode::dispatchGenericEvent):
18200 * dom/EventTargetNode.h:
18201
timothy@apple.combffde042008-09-24 02:07:39 +0000182022008-09-23 Timothy Hatcher <timothy@apple.com>
18203
timothy@apple.com99c03532008-09-24 02:08:44 +000018204 Adds search support to the Profiles panel.
18205
18206 The Profiles panel supports a few types of queries:
18207 * Standard string matching for function names and file URLs.
18208 * Greater than and less than search for numeric columns.
18209 So a query of ">24" will match all rows that have calls
18210 greater than 24. Or "<=42" will match all 42 or less.
18211 * Percent and time units. Adding a unit of "s", "ms" or "%"
18212 is supported and will match only the Self and Total columns.
18213 So a query of ">1.25s" will match all rows that took longer
18214 than 1.25 seconds.
18215
18216 Reviewed by Oliver Hunt.
18217
18218 * page/inspector/ProfileView.js:
18219 (WebInspector.ProfileView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time
18220 it will start at the first result.
18221 (WebInspector.ProfileView.prototype.refreshShowAsPercents): Moved from the bottom of the file.
18222 (WebInspector.ProfileView.prototype.searchCanceled): Clear the search properties and refresh highlighted
18223 data grid nodes.
18224 (WebInspector.ProfileView.prototype.performSearch): Search the profile nodes.
18225 (WebInspector.ProfileView.prototype.jumpToFirstSearchResult): Does what the function says. Calls _jumpToSearchResult.
18226 (WebInspector.ProfileView.prototype.jumpToLastSearchResult): Ditto.
18227 (WebInspector.ProfileView.prototype.jumpToNextSearchResult): Ditto.
18228 (WebInspector.ProfileView.prototype.jumpToPreviousSearchResult): Ditto.
18229 (WebInspector.ProfileView.prototype.showingFirstSearchResult): Does what the function says.
18230 (WebInspector.ProfileView.prototype.showingLastSearchResult): Ditto.
18231 (WebInspector.ProfileView.prototype._jumpToSearchResult): Select and reveal the profile node.
18232 Expand all the ancestors first so the profile node will have a DataGridNode.
18233 (WebInspector.ProfileView.prototype._changeView): Perform the search again on the new tree.
18234 (WebInspector.ProfileDataGridNode.prototype.createCell): Add the highlight class to cells that
18235 have search matches.
18236 * page/inspector/ProfilesPanel.js:
18237 (WebInspector.ProfilesPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
18238 (WebInspector.ProfilesPanel.prototype.showProfile): Use profileViewForProfile.
18239 (WebInspector.ProfilesPanel.prototype.showView): Call showProfile. Used by Panel to show a view.
18240 (WebInspector.ProfilesPanel.prototype.profileViewForProfile): Create the ProfileView if needed.
18241 (WebInspector.ProfilesPanel.prototype.closeVisibleView): Renamed visibleProfileView to visibleView.
18242 (WebInspector.ProfilesPanel.prototype.get searchableViews): Return all the views.
18243 (WebInspector.ProfilesPanel.prototype.searchMatchFound): Update the sidebar search matches.
18244 (WebInspector.ProfilesPanel.prototype.searchCanceled): Clear all the sidebar search matches.
18245 (WebInspector.ProfileSidebarTreeElement.prototype.set searchMatches): Set the class and bubbleText.
18246 * page/inspector/inspector.css: New style rules for the cell highlight color.
18247
182482008-09-23 Timothy Hatcher <timothy@apple.com>
18249
timothy@apple.com33c28442008-09-24 02:08:39 +000018250 Adds search support to the Resources and Scripts panels.
18251
18252 https://bugs.webkit.org/show_bug.cgi?id=21005
18253
18254 Reviewed by Oliver Hunt.
18255
18256 * page/inspector/Images/searchSmallBlue.png: Added.
18257 * page/inspector/Images/searchSmallBrightBlue.png: Added.
18258 * page/inspector/Images/searchSmallGray.png: Added.
18259 * page/inspector/Images/searchSmallWhite.png: Added.
18260 * page/inspector/ResourceView.js:
18261 (WebInspector.ResourceView.prototype.attach): Attempt to attach to "resource-views"
18262 or "script-resource-views" since one might not be created yet.
18263 * page/inspector/ResourcesPanel.js:
18264 (WebInspector.ResourcesPanel.prototype.show): Hide any views that are visible that
18265 are not this panel's current visible view. This can happen when a ResourceView is
18266 visible in the Scripts panel then switched to the this panel.
18267 (WebInspector.ResourcesPanel.prototype.get searchableViews): Return all views, with the
18268 visibleView first.
18269 (WebInspector.ResourcesPanel.prototype.searchResultsSortFunction): Return a sort function
18270 that uses the current graph search function. So cycling through results will be in the order
18271 things appear in the sidebar.
18272 (WebInspector.ResourcesPanel.prototype.searchMatchFound): Update the search matches on the
18273 resource's sidebar tree element.
18274 (WebInspector.ResourcesPanel.prototype.searchCanceled): Restore the error and warning bubbles
18275 in the sidebar. Calls the Panel prototype's searchCanceled.
18276 (WebInspector.ResourcesPanel.prototype.performSearch): Hide all the error and warning bubbles
18277 in the sidebar. Calls the Panel prototype's performSearch.
18278 (WebInspector.ResourcesPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
18279 (WebInspector.ResourcesPanel.prototype.addMessageToResource): Don't call updateErrorsAndWarnings
18280 if there is a current search query.
18281 (WebInspector.ResourcesPanel.prototype.clearMessages): Ditto.
18282 (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): Ditto.
18283 (WebInspector.ResourcesPanel.prototype.showView): Call showResource. Used by Panel to show a view.
18284 (WebInspector.ResourceSidebarTreeElement.prototype.resetBubble): Clear all the classes and content.
18285 (WebInspector.ResourceSidebarTreeElement.prototype.set searchMatches): Set the bubbleText and class.
18286 (WebInspector.ResourceSidebarTreeElement.prototype.updateErrorsAndWarnings): Call resetBubble.
18287 * page/inspector/ScriptView.js:
18288 (WebInspector.ScriptView): Set _sourceFrameSetup to flase.
18289 (WebInspector.ScriptView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time
18290 it will start at the first result.
18291 (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded): Add an event listener for "syntax
18292 highlighting complete".
18293 (WebInspector.ScriptView.prototype): Share many methods with SourceView.
18294 * page/inspector/ScriptsPanel.js:
18295 (WebInspector.ScriptsPanel.prototype.show): Hide any views that are visible that are not this
18296 This can happen when a ResourceView is visible in the Resources panel then switched to the this panel.
18297 (WebInspector.ScriptsPanel.prototype.get searchableViews): Return all views, with the visibleView first.
18298 (WebInspector.ScriptsPanel.prototype.reset): Call searchCanceled and delete the currentQuery.
18299 (WebInspector.ScriptsPanel.prototype.showView): Call _showScriptOrResource. Used by Panel to show a view.
18300 (WebInspector.ScriptsPanel.prototype._sourceViewForScriptOrResource): Added helper.
18301 * page/inspector/SourceFrame.js:
18302 (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript): Dispatch a "syntax highlighting complete" event.
18303 * page/inspector/SourceView.js:
18304 (WebInspector.SourceView.prototype.hide):
18305 (WebInspector.SourceView.prototype.detach):
18306 (WebInspector.SourceView.prototype._resourceLoadingFinished): Moved from the bottom of the file.
18307 (WebInspector.SourceView.prototype._addBreakpoint): Ditto.
18308 (WebInspector.SourceView.prototype.searchCanceled): Delete search properties.
18309 (WebInspector.SourceView.prototype.performSearch): Search the frame if it is loaded, otherwise
18310 store the worker function as _delayedFindSearchMatches and call it later in _sourceFrameSetupFinished.
18311 (WebInspector.SourceView.prototype.jumpToFirstSearchResult):
18312 (WebInspector.SourceView.prototype.jumpToLastSearchResult):
18313 (WebInspector.SourceView.prototype.jumpToNextSearchResult):
18314 (WebInspector.SourceView.prototype.jumpToPreviousSearchResult):
18315 (WebInspector.SourceView.prototype.showingFirstSearchResult):
18316 (WebInspector.SourceView.prototype.showingLastSearchResult):
18317 (WebInspector.SourceView.prototype._jumpToSearchResult): Selects the found Range.
18318 (WebInspector.SourceView.prototype._sourceFrameSetupFinished): Calls _delayedFindSearchMatches.
18319 (WebInspector.SourceView.prototype._syntaxHighlightingComplete): Call _sourceFrameSetupFinished.
18320 * page/inspector/inspector.css:
18321
183222008-09-23 Timothy Hatcher <timothy@apple.com>
18323
timothy@apple.com18950ed2008-09-24 02:08:32 +000018324 Rename some properties of ResourcesPanel and ScriptsPanel to be the same,
18325 so future code can be shared.
18326
18327 https://bugs.webkit.org/show_bug.cgi?id=21005
18328
18329 Reviewed by Oliver Hunt.
18330
18331 * page/inspector/ResourcesPanel.js: Renamed resourceViews to viewsContainerElement.
18332 And visibleResourceView to visibleView.
18333 * page/inspector/ScriptsPanel.js: Renamed scriptResourceViews to viewsContainerElement.
18334
183352008-09-23 Timothy Hatcher <timothy@apple.com>
18336
timothy@apple.comcb23f4a2008-09-24 02:08:27 +000018337 Highlight all matched search results in the Elements panel DOM tree.
18338
18339 https://bugs.webkit.org/show_bug.cgi?id=21005
18340
18341 Reviewed by Oliver Hunt.
18342
18343 * page/inspector/ElementsPanel.js:
18344 (WebInspector.ElementsPanel.prototype.searchCanceled): Clear the highlight
18345 on all previous search results.
18346 (WebInspector.ElementsPanel.prototype.performSearch): Set the hihglight
18347 on all new search results.
18348 * page/inspector/ElementsTreeOutline.js:
18349 (WebInspector.ElementsTreeElement): Delay setting the title until onattach.
18350 (WebInspector.ElementsTreeElement.prototype.get/set highlighted): Sets or removes
18351 the highlighted class on the listItemElement.
18352 (WebInspector.ElementsTreeElement.prototype.onattach): Set the highlighted class
18353 if needed. Calls _updateTitle.
18354 (WebInspector.ElementsTreeElement.prototype._updateTitle): Adds a span with the highlight
18355 class so it can be styled when the highlighted class is present.
18356 * page/inspector/inspector.css: New style rules for the hihglight.
18357
183582008-09-23 Timothy Hatcher <timothy@apple.com>
18359
timothy@apple.com574c0522008-09-24 02:08:19 +000018360 Add search support to the Elements panel.
18361
18362 https://bugs.webkit.org/show_bug.cgi?id=21005
18363
18364 Reviewed by Oliver Hunt.
18365
18366 * page/inspector/ElementsPanel.js:
18367 (WebInspector.ElementsPanel.prototype.searchCanceled): Call updateSearchMatchesCount
18368 with a 0 match count to rest. Reset the other search properties.
18369 (WebInspector.ElementsPanel.prototype.performSearch): Evaluates the search as an XPath
18370 query and a CSS selector on all the Documents in the page. Remembers the found nodes
18371 and avoids duplicates. Focuses the first result.
18372 (WebInspector.ElementsPanel.prototype.jumpToNextSearchResult): Focuses the next result.
18373 (WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult): Focuses the previous result.
18374
183752008-09-23 Timothy Hatcher <timothy@apple.com>
18376
timothy@apple.com82d233c2008-09-24 02:08:15 +000018377 Add support to Panel that allows easy searching of sub-views.
18378
18379 https://bugs.webkit.org/show_bug.cgi?id=21005
18380
18381 Reviewed by Oliver Hunt.
18382
18383 * page/inspector/Panel.js:
18384 (WebInspector.Panel.prototype.searchCanceled): Call searchCanceled on all the
18385 views in the search results and delete the currentQuery property. Call
18386 WebInspector.updateSearchMatchesCount wit ha 0 match count to rest. Reset the
18387 other search properties.
18388 (WebInspector.Panel.prototype.performSearch): Call searchCanceled since it will
18389 reset everything we need before doing a new search. Get an array of searchableViews
18390 from the panel, implemented by sub-classes. Iterate over the views one-by-one
18391 with an interval to prevent blocking the UI for large lists of searchableViews.
18392 This keeps the interface really responsive. Pass a finishedCallback function to
18393 the performSearch on each view so it can notify the panel of results.
18394 (WebInspector.Panel.prototype.jumpToNextSearchResult): Finds the index in the
18395 searchResults of the visibleView, so we know where in the results we are.
18396 This is done every time incase the user manually navigates to a new view.
18397 If the view is showing the last result, jump to the next view and show it's
18398 first result. Otherwise jump to the next result in the current view.
18399 (WebInspector.Panel.prototype.jumpToPreviousSearchResult): Ditto, but in reverse.
18400
184012008-09-23 Timothy Hatcher <timothy@apple.com>
18402
timothy@apple.comc8cfd5e2008-09-24 02:08:11 +000018403 Add support for asking the current panel to perform a search, find next/previous and clear.
18404 A search is performed on the new new current panel when switching between panels. The search
18405 label/placeholder in the toolbar now includes the panel name to make it clear that panel will
18406 be searched. The search field contents are selected when Command/Control-F or Enter/Return
18407 is pressed, so the user can easily type an entirely new query. The search match count shows
18408 up in the toolbar next to the search field.
18409
18410 Also changed:
18411 * Rename lastQuery to currentQuery since it better matches the truth.
18412 * Set the search field "results" attribute to zero since results arn't saved for
18413 how we use the search field.
18414 * Make repeated presses of the Return key jump to the next search result instead
18415 of doing nothing.
18416 * Increased the search field width.
18417
18418 https://bugs.webkit.org/show_bug.cgi?id=21005
18419
18420 Reviewed by Oliver Hunt.
18421
18422 * English.lproj/localizedStrings.js: New strings.
18423 * page/inspector/inspector.css: New styles.
18424 * page/inspector/inspector.html: Add the search-results-matches element. Add the
18425 incremental attribute to the search field and set the results attribute to zero.
18426 * page/inspector/inspector.js:
18427 (WebInspector.set currentPanel): perform the search on the new panel.
18428 (WebInspector.loaded): Change the event listeners and remove code that changes
18429 the search label text.
18430 (WebInspector.documentKeyDown): Add support for Command/Control-G and
18431 Command/Control-Shift-G. To jump to the next and previous search results.
18432 (WebInspector.updateSearchLabel): Added. Update the search placeholder/label.
18433 This does different things depending on the attached state.
18434 (WebInspector.searchKeyDown): Call preventDefault since this was the Enter key.
18435 This prevents a "search" event from firing for key down. We handle the Enter key
18436 on key up in searchKeyUp. This stops performSearch from being called twice in a row.
18437 (WebInspector.searchKeyUp): Calls performSearch when it is the Enter key.
18438 (WebInspector.performSearch): Delete the currentQuery property and call searchCanceled
18439 on all the panels. Call jumpToNextSearchResult when this is the same query or a forced search.
18440 Call updateSearchMatchesCount to reset the matches count in the toolbar.
18441 (WebInspector.updateSearchMatchesCount): Added. Updates the matches count in the toolbar.
18442
184432008-09-23 Timothy Hatcher <timothy@apple.com>
18444
timothy@apple.com1d5227a2008-09-24 02:08:01 +000018445 Remove the previous Inspector search code to make room for the new stuff.
18446
18447 https://bugs.webkit.org/show_bug.cgi?id=21005
18448
18449 Reviewed by Oliver Hunt.
18450
18451 * page/inspector/inspector.css:
18452 * page/inspector/inspector.html:
18453 * page/inspector/inspector.js:
18454 (WebInspector.get/set showingSearchResults): Removed.
18455 (WebInspector.searchResultsKeyDown): Removed.
18456 (WebInspector.searchResultsResizerDragStart): Removed.
18457 (WebInspector.searchResultsResizerDragEnd): Removed.
18458 (WebInspector.searchResultsResizerDrag): Removed.
18459 (WebInspector.performSearch): Removed searching parts.
18460
184612008-09-23 Timothy Hatcher <timothy@apple.com>
18462
timothy@apple.com5e915b722008-09-24 02:07:56 +000018463 Use the Array.remove helper function in more places.
18464
18465 https://bugs.webkit.org/show_bug.cgi?id=21037
18466
18467 Reviewed by Kevin McCullough.
18468
18469 * page/inspector/ResourceCategory.js:
18470 (WebInspector.ResourceCategory.prototype.removeResource): Use Array.remove.
18471 * page/inspector/ResourcesPanel.js:
18472 (WebInspector.ResourcesPanel.prototype.removeResource): Ditto.
18473 * page/inspector/inspector.js:
18474 (WebInspector.removeResource): Ditto.
18475
184762008-09-23 Timothy Hatcher <timothy@apple.com>
18477
timothy@apple.com3e116f12008-09-24 02:07:50 +000018478 Fixes a bug where inspecting a node after reloading the page
18479 would not reveal the node in the DOM tree. The TreeOutline
18480 was not being told to forget decendants of a removed child.
18481 So old TreeElements would be found that are not in the tree.
18482
18483 https://bugs.webkit.org/show_bug.cgi?id=21036
18484
18485 Reviewed by Kevin McCullough.
18486
18487 * page/inspector/treeoutline.js:
18488 (TreeOutline._removeChildAtIndex): Call _forgetChildrenRecursive
18489 in addition to _forgetTreeElement.
18490 (TreeOutline._removeChildren): Call _forgetChildrenRecursive
18491 in addition to _forgetTreeElement.
18492 (TreeOutline._rememberTreeElement): Use Array.indexOf to quickly
18493 search for known elements.
18494 (TreeOutline._forgetTreeElement): Use Array.remove to remove elements.
18495 (TreeOutline._forgetChildrenRecursive): Recursively traverse the
18496 descendants and call _forgetTreeElement.
18497 * page/inspector/utilities.js:
18498 (Array.prototype.remove): Speed up this function by using Array.indexOf
18499 when onlyFirst is true.
18500
185012008-09-23 Timothy Hatcher <timothy@apple.com>
18502
timothy@apple.com2e9f2ff2008-09-24 02:07:45 +000018503 Fixes a bug where inspecting some short text nodes does
18504 not reveal them in the Elements panel DOM tree.
18505
18506 https://bugs.webkit.org/show_bug.cgi?id=21035
18507
18508 Reviewed by Oliver Hunt.
18509
18510 * page/inspector/ElementsTreeOutline.js:
18511 (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
18512 The revealAndSelectNode() method might find a different element
18513 if there is inlined text, and the select() call would change the
18514 focusedDOMNode and reenter this setter. So to avoid calling
18515 focusedNodeChanged() twice, first check if _focusedDOMNode is
18516 the same node as the one passed in.
18517 (WebInspector.ElementsTreeOutline.prototype.update): Remove use of
18518 this.treeOutline, since this is the TreeOutline.
18519 (WebInspector.ElementsTreeOutline.prototype.findTreeElement): Added.
18520 Provides default functions for isAncestor, getParet and equal.
18521 Calls the base protoype's findTreeElement. If that returns null
18522 and the node is a text node, try finding it's parent.
18523 (WebInspector.ElementsTreeOutline.prototype.revealNode): Removed.
18524 Renamed to revealAndSelectNode.
18525 (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode):
18526 Selects and reveals the node passed in. Use the simple findTreeElement.
18527 (WebInspector.ElementsTreeOutline.prototype._treeElementFromEvent):
18528 Remove use of this.treeOutline, since this is the TreeOutline.
18529
185302008-09-23 Timothy Hatcher <timothy@apple.com>
18531
timothy@apple.combffde042008-09-24 02:07:39 +000018532 Fixes an exception that happened when removing a Resource
18533 from the ResourcesPanel.
18534
18535 https://bugs.webkit.org/show_bug.cgi?id=21034
18536
18537 Reviewed by Kevin McCullough.
18538
18539 * page/inspector/ResourcesPanel.js:
18540 (WebInspctor.ResourcesPanel.prototype.removeResource):
18541 Remove the graphElement.
18542
kmccullough@apple.com70d32f22008-09-24 01:18:31 +0000185432008-09-23 Kevin McCullough <kmccullough@apple.com>
18544
18545 Fixed "Time" to "Tim"
18546
18547 * ChangeLog:
18548
zimmermann@webkit.org718a2232008-09-24 01:00:42 +0000185492008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
18550
18551 Reviewed by Oliver.
18552
18553 Move mapInstanceToElement/removeInstanceMapping/instancesForElement
18554 from SVGDocumentExtensions to SVGElement. It's more useful to store
18555 the list of SVGElementInstances per SVGElement, instead of using
18556 a document-wide hash for this purpose.
18557
18558 * svg/SVGAnimateMotionElement.cpp:
18559 (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
18560 * svg/SVGAnimateTransformElement.cpp:
18561 (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
18562 * svg/SVGAnimationElement.cpp:
18563 (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
18564 * svg/SVGDocumentExtensions.cpp:
18565 (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions):
18566 * svg/SVGDocumentExtensions.h:
18567 * svg/SVGElement.cpp:
18568 (WebCore::SVGElement::mapInstanceToElement):
18569 (WebCore::SVGElement::removeInstanceMapping):
18570 (WebCore::SVGElement::instancesForElement):
18571 * svg/SVGElement.h:
18572 * svg/SVGElementInstance.cpp:
18573 (WebCore::SVGElementInstance::SVGElementInstance):
18574 (WebCore::SVGElementInstance::~SVGElementInstance):
18575 (WebCore::SVGElementInstance::updateAllInstancesOfElement):
18576 * svg/SVGElementInstance.h:
18577 * svg/SVGStyledElement.cpp:
18578 (WebCore::SVGStyledElement::svgAttributeChanged):
18579 (WebCore::SVGStyledElement::childrenChanged):
18580 * svg/SVGStyledElement.h:
18581
kevino@webkit.org706ea432008-09-24 00:53:56 +0000185822008-09-23 Kevin Ollivier <kevino@theolliviers.com>
18583
18584 wx build fix.
18585
18586 * WebCoreSources.bkl:
18587
zimmermann@webkit.org97c71082008-09-24 00:23:28 +0000185882008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
18589
18590 Rubber stamped by Sam.
18591
18592 Move code from EventTarget to EventTargetNode.
18593
18594 I refactored most parts to live in EventTarget, a year ago,
18595 though the implementation of EventTargetSVGElementInstance is
18596 done in another way, that obsoletes this.
18597
18598 * dom/Document.cpp:
18599 (WebCore::Document::addListenerTypeIfNeeded):
18600 * dom/Document.h:
18601 * dom/EventTarget.cpp:
18602 * dom/EventTarget.h:
18603 (WebCore::allowEventDispatch):
18604 * dom/EventTargetNode.cpp:
18605 (WebCore::EventTargetNode::insertedIntoDocument):
18606 (WebCore::EventTargetNode::removedFromDocument):
18607 (WebCore::EventTargetNode::willMoveToNewOwnerDocument):
18608 (WebCore::EventTargetNode::didMoveToNewOwnerDocument):
18609 (WebCore::EventTargetNode::addEventListener):
18610 (WebCore::EventTargetNode::removeEventListener):
18611 (WebCore::EventTargetNode::removeAllEventListeners):
18612 (WebCore::EventTargetNode::handleLocalEvents):
18613 (WebCore::setCurrentEventTargetRespectingSVGTargetRules):
18614 (WebCore::EventTargetNode::dispatchEvent):
18615 (WebCore::EventTargetNode::dispatchGenericEvent):
18616 (WebCore::EventTargetNode::dispatchWindowEvent):
18617 (WebCore::EventTargetNode::removeEventListenerForType):
18618 * dom/EventTargetNode.h:
18619 * svg/EventTargetSVGElementInstance.cpp:
18620 (WebCore::EventTargetSVGElementInstance::dispatchEvent):
18621 * svg/SVGElement.cpp:
18622 (WebCore::SVGElement::sendSVGLoadEventIfPossible):
18623 * svg/SVGElement.h:
18624 (WebCore::SVGElement::supplementalTransform):
18625
hyatt@apple.com7c9fc6f2008-09-24 00:14:42 +0000186262008-09-23 Dave Hyatt <hyatt@apple.com>
18627
18628 Fix for bug 21012. The Aqua scrollbar was returning the wrong track rect on Windows Aqua theme. Make
18629 sure to not accidentally fall into the vertical scrollbar case for horizontal scrollbars. :)
18630
18631 Reviewed by Sam Weinig
18632
18633 * platform/mac/ScrollbarThemeMac.mm:
18634 (WebCore::ScrollbarThemeMac::trackRect):
18635 * platform/win/ScrollbarThemeSafari.cpp:
18636 (WebCore::ScrollbarTheme::nativeTheme):
18637 (WebCore::ScrollbarThemeSafari::trackRect):
18638
bdakin@apple.comaab5d692008-09-24 00:09:33 +0000186392008-09-23 Beth Dakin <bdakin@apple.com>
18640
18641 Reviewed by Sam Weinig.
18642
18643 Fix for https://bugs.webkit.org/show_bug.cgi?id=21041 "Add Contact"
18644 link at gmail does not support AXPress action
18645 and corresponding: <rdar://problem/6216178>
18646
18647 I fixed this bug by making AccessibilityObject::anchorElement
18648 support ARIA links.
18649
18650 * page/AccessibilityImageMapLink.cpp:
18651 (WebCore::AccessibilityImageMapLink::anchorElement):
18652 * page/AccessibilityImageMapLink.h:
18653 * page/AccessibilityObject.cpp:
18654 (WebCore::AccessibilityObject::anchorElement):
18655 * page/AccessibilityObject.h:
18656 (WebCore::AccessibilityObject::isNativeAnchor):
18657 * page/AccessibilityRenderObject.cpp:
18658 (WebCore::AccessibilityRenderObject::isNativeAnchor):
18659 (WebCore::AccessibilityRenderObject::anchorElement):
18660 (WebCore::AccessibilityRenderObject::internalLinkElement):
18661 (WebCore::AccessibilityRenderObject::url):
18662 * page/AccessibilityRenderObject.h:
18663 * page/mac/AccessibilityObjectWrapper.mm:
18664 (AXLinkElementForNode):
18665
kmccullough@apple.com58f6b182008-09-24 00:05:34 +0000186662008-09-23 Kevin McCullough <kmccullough@apple.com>
18667
kmccullough@apple.com70d32f22008-09-24 01:18:31 +000018668 Reviewed by Tim and Oliver.
kmccullough@apple.com58f6b182008-09-24 00:05:34 +000018669
18670 Bug 20949: Catch repeated messages in Inspector Controller to limit
18671 memory usage
18672 - Store the repeat count in the Console Message object, in the
18673 Inspector Controller and JS ConsoleMessage object.
18674
18675 * page/InspectorController.cpp:
18676 (WebCore::ConsoleMessage::ConsoleMessage):
18677 (WebCore::ConsoleMessage::operator==):
18678 (WebCore::InspectorController::InspectorController):
18679 (WebCore::InspectorController::addConsoleMessage):
18680 (WebCore::InspectorController::addScriptConsoleMessage):
18681 * page/InspectorController.h:
18682 * page/inspector/Console.js:
18683 * page/inspector/Resource.js:
18684 * page/inspector/ResourcesPanel.js:
18685 * page/inspector/SourceFrame.js:
18686
zimmermann@webkit.org29d22032008-09-23 23:44:20 +0000186872008-09-23 Nikolas Zimmermann <zimmermann@kde.org>
18688
18689 Reviewed by Eric.
18690
18691 Working on proper EventTarget support for SVGElementInstance.
18692
18693 Add new EventTargetSVGElementInstance class, and it's corresponding JS wrapper.
18694 Finally JSEventTargetBase, is actually used for another class than JSEventTargetnode.
18695
18696 Remove EventTarget inheritance from SVGElementInstance, and the manual "TreeShared"
18697 implementation. Let it use TreeShared directly.
18698
18699 It's not activated so far (SVGUseElement still creating SVGElementInstance objects).
18700 The transition to EventTargetSVGElementInstance will be done in a few individual patches.
18701
18702 * GNUmakefile.am:
18703 * WebCore.pro:
18704 * WebCore.vcproj/WebCore.vcproj:
18705 * WebCore.xcodeproj/project.pbxproj:
18706 * bindings/js/JSEventTargetBase.cpp:
18707 (WebCore::retrieveEventTargetAndCorrespondingNode):
18708 (WebCore::toJS):
18709 * bindings/js/JSEventTargetBase.h:
18710 * bindings/js/JSEventTargetSVGElementInstance.cpp: Added.
18711 (WebCore::):
18712 (WebCore::JSEventTargetSVGElementInstance::JSEventTargetSVGElementInstance):
18713 (WebCore::JSEventTargetSVGElementInstance::createPrototype):
18714 (WebCore::JSEventTargetSVGElementInstance::setListener):
18715 (WebCore::JSEventTargetSVGElementInstance::getListener):
18716 (WebCore::toEventTargetSVGElementInstance):
18717 * bindings/js/JSEventTargetSVGElementInstance.h: Added.
18718 (WebCore::JSEventTargetSVGElementInstance::prototypeClassName):
18719 (WebCore::JSEventTargetSVGElementInstance::getOwnPropertySlot):
18720 (WebCore::JSEventTargetSVGElementInstance::getValueProperty):
18721 (WebCore::JSEventTargetSVGElementInstance::put):
18722 (WebCore::JSEventTargetSVGElementInstance::putValueProperty):
18723 * bindings/js/JSSVGElementInstanceCustom.cpp: Added.
18724 (WebCore::toJS):
18725 * bindings/objc/DOM.mm:
18726 (+[DOMNode _wrapEventTarget:WebCore::]):
18727 (-[DOMSVGElementInstance _initWithSVGElementInstance:WebCore::]):
18728 (+[DOMSVGElementInstance _wrapSVGElementInstance:WebCore::]):
18729 (+[DOMSVGElementInstance _wrapEventTarget:WebCore::]):
18730 (-[DOMSVGElementInstance WebCore::]):
18731 (-[DOMSVGElementInstance addEventListener:listener:useCapture:]):
18732 (-[DOMSVGElementInstance addEventListener:::]):
18733 (-[DOMSVGElementInstance removeEventListener:listener:useCapture:]):
18734 (-[DOMSVGElementInstance removeEventListener:::]):
18735 (-[DOMSVGElementInstance dispatchEvent:]):
18736 * bindings/objc/DOMEvents.h:
18737 * bindings/scripts/CodeGeneratorJS.pm:
18738 * bindings/scripts/CodeGeneratorObjC.pm:
18739 * svg/EventTargetSVGElementInstance.cpp: Added.
18740 (WebCore::EventTargetSVGElementInstance::EventTargetSVGElementInstance):
18741 (WebCore::EventTargetSVGElementInstance::~EventTargetSVGElementInstance):
18742 (WebCore::EventTargetSVGElementInstance::addEventListener):
18743 (WebCore::EventTargetSVGElementInstance::removeEventListener):
18744 (WebCore::EventTargetSVGElementInstance::dispatchEvent):
18745 * svg/EventTargetSVGElementInstance.h: Added.
18746 (WebCore::EventTargetSVGElementInstance::isEventTargetSVGElementInstance):
18747 (WebCore::EventTargetSVGElementInstance::toNode):
18748 (WebCore::EventTargetSVGElementInstance::toSVGElementInstance):
18749 (WebCore::EventTargetSVGElementInstance::refEventTarget):
18750 (WebCore::EventTargetSVGElementInstance::derefEventTarget):
18751 (WebCore::EventTargetSVGElementInstanceCast):
18752 * svg/SVGElement.cpp:
18753 (WebCore::SVGElement::dispatchEvent):
18754 * svg/SVGElementInstance.cpp:
18755 (WebCore::SVGElementInstance::SVGElementInstance):
18756 (WebCore::SVGElementInstance::~SVGElementInstance):
18757 * svg/SVGElementInstance.h:
18758 (WebCore::SVGElementInstance::isEventTargetSVGElementInstance):
18759 * svg/SVGElementInstance.idl:
18760
mitz@apple.come47c5af2008-09-23 21:47:54 +0000187612008-09-23 Dan Bernstein <mitz@apple.com>
18762
18763 Reviewed by Dave Hyatt.
18764
18765 - https://bugs.webkit.org/show_bug.cgi?id=21040
18766 Pass NULL instead of the identity matrix to CTFontCreateWithGraphicsFont()
18767
18768 * platform/graphics/mac/SimpleFontDataMac.mm:
18769 (WebCore::SimpleFontData::getCTFont):
18770
hyatt@apple.com6e6bd8e2008-09-23 21:43:37 +0000187712008-09-23 David Hyatt <hyatt@apple.com>
18772
18773 https://bugs.webkit.org/show_bug.cgi?id=21039
18774
18775 Teach the viewless Mac scrollbar how to avoid NSWindow's resizer.
18776
18777 Reviewed by Sam Weinig
18778
18779 * platform/ScrollView.h:
18780 * platform/Scrollbar.cpp:
18781 (WebCore::Scrollbar::setFrameGeometry):
18782 * platform/Scrollbar.h:
18783 * platform/Widget.cpp:
18784 (WebCore::Widget::convertFromContainingWindow):
18785 * platform/Widget.h:
18786 * platform/mac/ScrollViewMac.mm:
18787 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
18788 (WebCore::ScrollView::ScrollView):
18789 (WebCore::ScrollView::~ScrollView):
18790 (WebCore::ScrollView::windowResizerRect):
18791 (WebCore::ScrollView::resizerOverlapsContent):
18792 (WebCore::ScrollView::adjustOverlappingScrollbarCount):
18793 (WebCore::ScrollView::setParent):
18794 * platform/mac/WidgetMac.mm:
18795 (WebCore::Widget::convertFromContainingWindow):
18796
jmalonzo@webkit.orge5598ad2008-09-23 21:33:21 +0000187972008-09-23 Dirk Schulze <vbs85@gmx.de>
18798
18799 Reviewed by Darin Adler. Landed by Jan Alonzo.
18800
18801 Added support for getImageData() and putImageData()
18802 to Cairo.
18803
18804 [CAIRO] needs getImageData and putImageData support
18805 https://bugs.webkit.org/show_bug.cgi?id=20838
18806
18807 * platform/graphics/cairo/ImageBufferCairo.cpp:
18808 (WebCore::ImageBuffer::ImageBuffer):
18809 (WebCore::ImageBuffer::getImageData):
18810 (WebCore::ImageBuffer::putImageData):
18811
jmalonzo@webkit.orgfb939412008-09-23 21:07:50 +0000188122008-09-23 Marco Barisione <marco.barisione@collabora.co.uk>
18813
18814 Reviewed by Holger Freyther.
18815
18816 http://bugs.webkit.org/show_bug.cgi?id=18987
18817 [GTK] Implement SharedBuffer::createWithContentsOfFile and
18818 KURL::fileSystemPath
18819
18820 * GNUmakefile.am: Add KURLGtk.cpp and SharedBufferGtk.cpp.
18821 * platform/gtk/KURLGtk.cpp: Added.
18822 (WebCore::KURL::fileSystemPath): Implemented.
18823 * platform/gtk/SharedBufferGtk.cpp: Added.
18824 (WebCore::SharedBuffer::createWithContentsOfFile): Implemented.
18825 * platform/gtk/TemporaryLinkStubs.cpp: Remove the old stubs.
18826
ap@webkit.org198304c2008-09-23 16:34:41 +0000188272008-09-23 Alexey Proskuryakov <ap@webkit.org>
18828
ap@webkit.orgccfa60a2008-09-23 20:39:22 +000018829 Reviewed by Oliver Hunt, okayed by Darin Adler.
18830
18831 <rdar://problem/5575547> REGRESSION: ATOK has no phrase boundary on Safari/Mail.app
18832
18833 * rendering/InlineTextBox.cpp:
18834 (WebCore::InlineTextBox::paintCompositionUnderline): Add 2 pixel spacing between clauses.
18835
188362008-09-23 Alexey Proskuryakov <ap@webkit.org>
18837
ap@webkit.org198304c2008-09-23 16:34:41 +000018838 Reviewed by Darin Adler.
18839
18840 https://bugs.webkit.org/show_bug.cgi?id=21023
18841 Don't use TEC for encodings supported by ICU
18842
18843 * platform/text/mac/mac-encodings.txt: Removed x-mac-centraleurroman, x-mac-cyrillic,
18844 x-mac-greek, and x-mac-turkish.
18845
18846 * platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames):
18847 Register aliases for these encodings that are not registered automatically; updated comments.
18848
mjs@apple.coma6dc93d2008-09-23 07:46:55 +0000188492008-09-23 Maciej Stachowiak <mjs@apple.com>
18850
18851 Reviewed by Darin.
18852
18853 - speed up instanceof some more
18854 https://bugs.webkit.org/show_bug.cgi?id=20818
18855
18856 ~2% speedup on EarleyBoyer
18857
18858 (WebCore updates.)
18859
18860 * bindings/js/JSQuarantinedObjectWrapper.h:
18861 (WebCore::JSQuarantinedObjectWrapper::createStructureID):
18862
oliver@apple.combc10aae2008-09-23 07:40:49 +0000188632008-09-22 Darin Adler <darin@apple.com>
18864
18865 Reviewed by Oliver Hunt.
18866
18867 - fix https://bugs.webkit.org/show_bug.cgi?id=21008
18868 getting pixels by index from CanvasPixelArray is unnecessarily slow
18869
18870 * GNUmakefile.am: Added JSCanvasPixelArrayCustom.h.
18871 * WebCore.vcproj/WebCore.vcproj: Ditto.
18872 * WebCore.xcodeproj/project.pbxproj: Ditto.
18873
18874 * bindings/js/JSCanvasPixelArrayCustom.cpp: Removed indexGetter and
18875 indexSetter. These are now both inlined, so in the header.
18876 * bindings/js/JSCanvasPixelArrayCustom.h: Added. The getByIndex
18877 function is what's used for HasCustomIndexGetter. Also moved the
18878 indexSetter function here.
18879
18880 * bindings/scripts/CodeGeneratorJS.pm: Changed HasCustomIndexGetter
18881 to use a getByIndex member function rather than an indexGetter static
18882 member function in a property slot. This lets us avoid the property
18883 slot mechanism's rule where it turns numeric property names into
18884 strings in the identifier table, which is good because that's slow.
18885 Also added a new property CustomHeader that allows IDL files to
18886 introduce headers to be included -- useful when we have functions
18887 that we want to inline into the binding.
18888
18889 * html/CanvasPixelArray.idl: Added CustomHeader attribute.
18890
eric@webkit.org924a2d32008-09-23 07:04:11 +0000188912008-09-23 Eric Seidel <eric@webkit.org>
18892
18893 No review, build fix only.
eric@webkit.org8d2a21a2008-09-23 07:23:14 +000018894
18895 Another blind stab in the dark.
18896
18897 * svg/graphics/cg/SVGResourceClipperCg.cpp: Add missing header.
18898
188992008-09-23 Eric Seidel <eric@webkit.org>
18900
18901 No review, build fix only.
eric@webkit.org924a2d32008-09-23 07:04:11 +000018902
18903 Third time's the charm, eh? My local build is sadly still not done...
18904
18905 * platform/graphics/AffineTransform.cpp: remove extra &
18906 * platform/graphics/AffineTransform.h: remove extra &
18907
eric@webkit.orgf394f462008-09-23 06:38:10 +0000189082008-09-22 Eric Seidel <eric@webkit.org>
18909
18910 No review, build fix only.
18911
eric@webkit.orgf9212312008-09-23 06:47:51 +000018912 * platform/graphics/AffineTransform.cpp: remove extra ;
18913
189142008-09-22 Eric Seidel <eric@webkit.org>
18915
18916 No review, build fix only.
18917
eric@webkit.orgf394f462008-09-23 06:38:10 +000018918 Speculative fix for the build while I wait for my compile to finish.
18919
18920 * platform/graphics/AffineTransform.cpp:
18921
eric@webkit.org10583212008-09-23 06:05:59 +0000189222008-09-22 Dirk Schulze <vbs85@gmx.de>
18923
18924 Reviewed by eseidel. Landed by eseidel.
18925
18926 Moved makeMapBetweenRects from SVG/CG to AffineTransform
18927 Make SVGResourceClipper::applyClip more cross-platform
18928
18929 * platform/graphics/AffineTransform.cpp:
18930 * platform/graphics/AffineTransform.h:
18931 * svg/graphics/cg/CgSupport.cpp:
18932 * svg/graphics/cg/CgSupport.h:
18933 * svg/graphics/cg/SVGPaintServerGradientCg.cpp:
18934 (WebCore::SVGPaintServerGradient::handleBoundingBoxModeAndGradientTransformation):
18935 * svg/graphics/cg/SVGResourceClipperCg.cpp:
18936 (WebCore::SVGResourceClipper::applyClip):
18937
alp@webkit.orgfaa63e42008-09-23 03:08:57 +0000189382008-09-22 Alp Toker <alp@nuanti.com>
18939
18940 Reviewed by David Hyatt.
18941
18942 https://bugs.webkit.org/show_bug.cgi?id=16331
18943 [Gtk] no focus when button/checkbox/radiobutton clicked, only when tabbed
18944
18945 Obey GTK+ focusing conventions for controls and anchor elements.
18946
18947 It could be interesting to push these decisions up to Settings or
18948 ChromeClient some day but this gets things working.
18949
18950 Right and middle click events still need some work to match GTK+
18951 conventions.
18952
18953 * html/HTMLAnchorElement.cpp:
18954 (WebCore::HTMLAnchorElement::isMouseFocusable):
18955 * html/HTMLFormControlElement.cpp:
18956 (WebCore::HTMLFormControlElement::isMouseFocusable):
18957 * page/EventHandler.cpp:
18958 (WebCore::EventHandler::sendContextMenuEvent):
18959
darin@apple.com4a266462008-09-23 01:24:31 +0000189602008-09-22 Darin Adler <darin@apple.com>
18961
18962 * page/mac/FrameMac.mm:
18963 (WebCore::Frame::baseWritingDirectionForSelectionStart): Fix indentation.
18964
weinig@apple.comb6a39b72008-09-23 01:19:56 +0000189652008-09-22 Sam Weinig <sam@webkit.org>
18966
18967 Reviewed by Dan Bernstein.
18968
18969 Patch for https://bugs.webkit.org/show_bug.cgi?id=21013
18970 Match Firefox in how we hide HTMLInputElement.selectionStart, selectionEnd
18971 and setSelectionRange. This also allows us to remove the legacy JSHTMLInputElementBase
18972 class!
18973
18974 - selectionStart, selectionEnd and setSelectionRange now are visible in iteration of
18975 non-selectable input types, but return undefined when accessed.
18976
18977 * DerivedSources.make:
18978 * GNUmakefile.am:
18979 * WebCore.pro:
18980 * WebCore.vcproj/WebCore.vcproj:
18981 * WebCore.xcodeproj/project.pbxproj:
18982 * WebCoreSources.bkl:
18983 * bindings/js/JSHTMLInputElementBase.cpp: Removed.
18984 * bindings/js/JSHTMLInputElementBase.h: Removed.
18985 * bindings/js/JSHTMLInputElementCustom.cpp: Added.
18986 (WebCore::JSHTMLInputElement::customGetOwnPropertySlot):
18987 (WebCore::JSHTMLInputElement::selectionStart):
18988 (WebCore::JSHTMLInputElement::selectionEnd):
18989 * bindings/js/JSHTMLInputElementCustom.h: Added.
18990 * html/HTMLInputElement.idl:
18991
mitz@apple.com895c54c2008-09-23 00:48:17 +0000189922008-09-22 Dan Bernstein <mitz@apple.com>
18993
18994 Reviewed by Sam Weinig.
18995
18996 - fix <rdar://problem/5699571> Mail: Unable to change writing direction to LTR in an empty message
18997
18998 Not testable in DumpRenderTree or in Safari
18999
19000 * page/mac/FrameMac.mm:
19001 (WebCore::Frame::baseWritingDirectionForSelectionStart): Account for the
19002 case that the selection start node is a block.
19003
hyatt@apple.com78083552008-09-22 22:17:40 +0000190042008-09-22 David Hyatt <hyatt@apple.com>
19005
19006 https://bugs.webkit.org/show_bug.cgi?id=21007
19007
19008 Make sure that the scrollbar gets sent a release event on platforms that call handleMouseDoubleClickEvent.
19009
19010 Reviewed by Sam Weinig
19011
19012 * page/EventHandler.cpp:
19013 (WebCore::EventHandler::handleMouseDoubleClickEvent):
19014
eric@webkit.orgb57170b2008-09-22 21:44:28 +0000190152008-09-22 Eric Seidel <eric@webkit.org>
19016
19017 No review, rollback only.
19018
19019 Roll out Peter's change (per his request)
19020 http://trac.webkit.org/changeset/36069
19021 https://bugs.webkit.org/show_bug.cgi?id=19663
19022 This change has been the source of numerous regressions
19023 (several of which were latent bugs revealed by this change,
19024 others were bugs in this change)
19025
19026 * platform/graphics/BitmapImage.cpp:
19027 (WebCore::BitmapImage::BitmapImage):
19028 (WebCore::BitmapImage::startAnimation):
19029 (WebCore::BitmapImage::advanceAnimation):
19030 * platform/graphics/BitmapImage.h:
19031 * platform/graphics/cairo/ImageCairo.cpp:
19032 (WebCore::BitmapImage::draw):
19033 * platform/graphics/cg/ImageCG.cpp:
19034 (WebCore::BitmapImage::draw):
19035 * platform/graphics/qt/ImageQt.cpp:
19036 (WebCore::BitmapImage::draw):
19037 * platform/graphics/wx/ImageWx.cpp:
19038 (WebCore::BitmapImage::draw):
19039
mitz@apple.comdc318202008-09-22 21:32:14 +0000190402008-09-22 Dan Bernstein <mitz@apple.com>
19041
19042 Reviewed by Sam Weinig.
19043
19044 - fix <rdar://problem/5158514> Switch the complex text code path to Core Text
19045
19046 Tests: platform/mac-snowleopard/fast/text/myanmar-shaping.html
19047 platform/mac-snowleopard/fast/text/thai-combining-mark-positioning.html
19048
19049 * config.h: Use Core Text if not building for Leopard or Tiger.
19050
hyatt@apple.com143e97c2008-09-22 21:03:02 +0000190512008-09-22 David Hyatt <hyatt@apple.com>
19052
19053 https://bugs.webkit.org/show_bug.cgi?id=21006
19054
19055 Add code that paints an NSView-less scroller using HIThemeDrawTrack. This scrollbar is still not
19056 switched on. There are still a few more refinements to make to the rendering and behavior.
19057
19058 Reviewed by Darin Adler
19059
19060 * platform/ScrollbarThemeComposite.cpp:
19061 (WebCore::ScrollbarThemeComposite::paint):
19062 * platform/ScrollbarThemeComposite.h:
19063 (WebCore::ScrollbarThemeComposite::paintTrack):
19064 (WebCore::ScrollbarThemeComposite::paintButton):
19065 (WebCore::ScrollbarThemeComposite::paintThumb):
19066 * platform/mac/ScrollbarThemeMac.h:
19067 * platform/mac/ScrollbarThemeMac.mm:
19068 (WebCore::ScrollbarThemeMac::backButtonRect):
19069 (WebCore::ScrollbarThemeMac::forwardButtonRect):
19070 (WebCore::scrollbarPartToHIPressedState):
19071 (WebCore::ScrollbarThemeMac::paint):
19072 * platform/mac/WidgetMac.mm:
19073 (WebCore::Widget::invalidateRect):
19074
simon.fraser@apple.com0f83a512008-09-22 20:19:53 +0000190752008-09-22 Chris Marrin <cmarrin@apple.com>
19076
19077 Reviewed by Sam Weinig
19078
19079 transition end event when -webkit-transition-property: all puts wrong
19080 propertyName in event
19081 https://bugs.webkit.org/show_bug.cgi?id=20903
19082
19083 * page/animation/ImplicitAnimation.cpp:
19084 (WebCore::ImplicitAnimation::sendTransitionEvent):
19085
cfleizach@apple.com70013042008-09-22 18:30:36 +0000190862008-09-22 Chris Fleizach <cfleizach@apple.com>
19087
19088 Reviewed by Darin Adler.
19089
cfleizach@apple.comdebb8722008-09-22 18:47:16 +000019090 <rdar://problem/6230234> AXTable should probably not be exposed in there's only one cell
19091
19092 Test: accessibility/table-one-cell.html
19093
19094 * page/AccessibilityTable.cpp:
19095 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
19096
190972008-09-22 Chris Fleizach <cfleizach@apple.com>
19098
19099 Reviewed by Darin Adler.
19100
cfleizach@apple.com70013042008-09-22 18:30:36 +000019101 <rdar://problem/6167779> Setting AXSelectedTextRange for TextAreas in a WebView behaves incorrectly
19102
19103 Test: accessibility/textarea-selected-text-range.html
19104
19105 * page/AccessibilityRenderObject.cpp:
19106 (WebCore::AccessibilityRenderObject::setSelectedTextRange):
19107
hyatt@apple.com4139b152008-09-22 18:21:37 +0000191082008-09-22 David Hyatt <hyatt@apple.com>
19109
19110 Clean up some parent relationships in the back end stylesheet code. Make sure parentStyleSheet
19111 properly walks up nested rule blocks to reach the parent sheet instead of giving up at the immediate
19112 parent. Also fix the doc() method so that it is properly set when the parent of the sheet is an import
19113 rule.
19114
19115 Reviewed by Sam Weinig
19116
19117 Added fast/css/nested-rule-parent-sheet.html
19118
19119 * css/CSSImportRule.cpp:
19120 (WebCore::CSSImportRule::insertedIntoParent):
19121 * css/CSSRule.cpp:
19122 (WebCore::CSSRule::parentStyleSheet):
19123 (WebCore::CSSRule::parentRule):
19124 * css/CSSStyleSheet.cpp:
19125 (WebCore::CSSStyleSheet::CSSStyleSheet):
19126 * css/CSSStyleSheet.h:
19127
mitz@apple.comd409a262008-09-22 18:17:57 +0000191282008-09-22 Dan Bernstein <mitz@apple.com>
19129
19130 Reviewed by Sam Weinig.
19131
19132 - fix https://bugs.webkit.org/show_bug.cgi?id=21002
19133 Make the ATSUI code path respect spacingDisabled()
19134
19135 Fixes svg/text/text-spacing-01-b.svg in run-webkit-tests --complex-text
19136
19137 * platform/graphics/mac/FontMacATSUI.mm:
19138 (WebCore::overrideLayoutOperation):
19139
mjs@apple.com221b4752008-09-22 15:03:52 +0000191402008-09-22 Maciej Stachowiak <mjs@apple.com>
19141
19142 Reviewed by Cameron Zwarich.
19143
19144 - speed up instanceof operator by replacing implementsHasInstance method with a TypeInfo flag
19145
19146 Partial work towards <https://bugs.webkit.org/show_bug.cgi?id=20818>
19147
19148 2.2% speedup on EarleyBoyer benchmark.
19149
19150 * bindings/js/JSQuarantinedObjectWrapper.cpp:
19151 * bindings/js/JSQuarantinedObjectWrapper.h:
19152 (WebCore::JSQuarantinedObjectWrapper::createStructureID):
19153 * bindings/scripts/CodeGeneratorJS.pm:
19154
aroben@apple.comd5cbddc2008-09-22 14:31:08 +0000191552008-09-22 Adam Roben <aroben@apple.com>
19156
19157 Windows build fix
19158
19159 * WebCore.vcproj/WebCore.vcproj: Add a missing </File> tag.
19160
mjs@apple.coma173abd2008-09-22 13:59:06 +0000191612008-09-22 Maciej Stachowiak <mjs@apple.com>
19162
19163 Reviewed by Dave Hyatt.
19164
19165 Based on initial work by Darin Adler.
19166
19167 - replace masqueradesAsUndefined virtual method with a flag in TypeInfo
19168 - use this to JIT inline code for eq_null and neq_null
19169 https://bugs.webkit.org/show_bug.cgi?id=20823
19170
19171 * WebCore.xcodeproj/project.pbxproj:
19172 * WebCore.vcproj/WebCore.vcproj:
19173 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
19174 (WebCore::JSCSSStyleDeclaration::nameGetter):
19175 * bindings/js/JSHTMLAllCollection.cpp: Added.
19176 (WebCore::):
19177 * bindings/js/JSHTMLAllCollection.h:
19178 (WebCore::JSHTMLAllCollection::createStructureID):
19179 (WebCore::JSHTMLAllCollection::toBoolean):
19180
vestbo@webkit.orgab848362008-09-22 13:27:06 +0000191812008-09-22 Tor Arne Vestbø <tavestbo@trolltech.com>
19182
19183 Reviewed by Simon.
19184
19185 Fix the QtWebKit build
19186
19187 * bridge/qt/qt_instance.cpp:
19188 (JSC::Bindings::QtRuntimeObjectImp::construct):
19189 * bridge/qt/qt_runtime.cpp:
19190
alp@webkit.orgcc9b0812008-09-22 08:53:06 +0000191912008-09-22 Alp Toker <alp@nuanti.com>
19192
19193 Suggested by David Hyatt.
19194
19195 Build fix: ScrollView::update() is still used by Document.cpp on !MAC
19196 so make it public.
19197
19198 * platform/ScrollView.h:
19199
hyatt@apple.com7cb18562008-09-22 07:57:52 +0000192002008-09-22 David Hyatt <hyatt@apple.com>
19201
hyatt@apple.combac66582008-09-22 08:36:44 +000019202 Fix a regression in Windows scrollbar painting. (Also fix the same
19203 bug in my new viewless Mac scrollbar painting code). The track rect
19204 was being improperly inflated when painting resulting in the scrollbar
19205 being too tall and painting in the border of overflow sections.
19206
19207 Reviewed by Oliver Hunt
19208
19209 * platform/mac/ScrollbarThemeMac.mm:
19210 (WebCore::ScrollbarThemeMac::trackRect):
19211 * platform/win/ScrollbarThemeSafari.cpp:
19212 (WebCore::ScrollbarThemeSafari::trackRect):
19213
192142008-09-22 David Hyatt <hyatt@apple.com>
19215
hyatt@apple.com7cb18562008-09-22 07:57:52 +000019216 Fix a hit testing bug where events are mistakenly passed to subframes
19217 if the mouse is over the border or padding area of the frame. Add
19218 a boolean flag, isOverWidget(), to hit test results so that EventHandler
19219 can check it to tell if the mouse is really over the content box of a
19220 RenderWidget and not just in the border/padding area.
19221
19222 This is not testable, since the old code properly recovered when it detected
19223 that the mouse was outside the bounds of the view, but this prevents
19224 the extra passdown from even occurring (and is basically a nice cleanup).
19225
19226 Reviewed by Oliver Hunt
19227
19228 * page/EventHandler.cpp:
19229 (WebCore::EventHandler::handleMousePressEvent):
19230 (WebCore::EventHandler::hitTestResultAtPoint):
19231 (WebCore::subframeForHitTestResult):
19232 (WebCore::EventHandler::handleMouseDoubleClickEvent):
19233 (WebCore::EventHandler::handleMouseMoveEvent):
19234 (WebCore::EventHandler::handleMouseReleaseEvent):
19235 (WebCore::EventHandler::handleWheelEvent):
19236 * page/MouseEventWithHitTestResults.h:
19237 (WebCore::MouseEventWithHitTestResults::isOverWidget):
19238 * rendering/HitTestResult.cpp:
19239 (WebCore::HitTestResult::HitTestResult):
19240 (WebCore::HitTestResult::operator=):
19241 * rendering/HitTestResult.h:
19242 (WebCore::HitTestResult::isOverWidget):
19243 (WebCore::HitTestResult::setIsOverWidget):
19244 * rendering/RenderWidget.cpp:
19245 (WebCore::RenderWidget::nodeAtPoint):
19246 * rendering/RenderWidget.h:
19247
hyatt@apple.comb2bf5272008-09-22 05:54:40 +0000192482008-09-21 David Hyatt <hyatt@apple.com>
19249
19250 Rename FrameView's repaintRectangle method to repaintContentRectangle. Make
19251 both it and ScrollView's updateContents method be off-limits to everyone in
19252 WebCore except for RenderView.
19253
19254 Make repaintViewRectangle the only possible method for WebCore code to do
19255 an invalidation. This ensures that all invalidates triggered by WebCore
19256 cross-platform code that cross ownerElement() boundaries are transform-aware.
19257
19258 Make sure that iframes/frames contained inside objects that have transforms
19259 or reflections are not allowed to blit (this was already true for transparency).
19260
19261 It is not possible to make a test for any of this, since iframe scrolling
19262 still doesn't work on Mac (since the invalidates are not being done
19263 through WebCore's cross-platform invalidation code but are instead going
19264 through NSScrollView's setNeedsDisplay still).
19265
19266 Reviewed by Oliver Hunt
19267
19268 * editing/SelectionController.cpp:
19269 (WebCore::SelectionController::recomputeCaretRect):
19270 (WebCore::SelectionController::invalidateCaretRect):
19271 (WebCore::SelectionController::focusedOrActiveStateChanged):
19272 * page/FrameView.cpp:
19273 (WebCore::FrameView::repaintContentRectangle):
19274 (WebCore::FrameView::endDeferredRepaints):
19275 * page/FrameView.h:
19276 * platform/ScrollView.h:
19277 * rendering/RenderBox.cpp:
19278 (WebCore::RenderBox::paintFillLayerExtended):
19279 * rendering/RenderLayer.cpp:
19280 (WebCore::RenderLayer::enclosingPositionedAncestor):
19281 (WebCore::RenderLayer::requiresSlowRepaints):
19282 * rendering/RenderLayer.h:
19283 (WebCore::RenderLayer::hasTransform):
19284 * rendering/RenderView.cpp:
19285 (WebCore::RenderView::paintBoxDecorations):
19286 (WebCore::RenderView::repaintViewRectangle):
19287 (WebCore::RenderView::setSelection):
19288
mjs@apple.com52b67602008-09-22 03:15:52 +0000192892008-09-21 Maciej Stachowiak <mjs@apple.com>
19290
19291 Reviewed by Darin.
19292
19293 - introduce a TypeInfo class, for holding per-type (in the C++ class sense) date in StructureID
19294 https://bugs.webkit.org/show_bug.cgi?id=20981
19295
19296 * bindings/js/JSAudioConstructor.cpp:
19297 (WebCore::JSAudioConstructor::JSAudioConstructor):
19298 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
19299 (WebCore::JSCSSStyleDeclaration::nameGetter):
19300 * bindings/js/JSDOMBinding.cpp:
19301 (WebCore::createDOMStructure):
19302 * bindings/js/JSDOMBinding.h:
19303 (WebCore::getDOMStructure):
19304 * bindings/js/JSDOMWindowShell.cpp:
19305 (WebCore::JSDOMWindowShell::JSDOMWindowShell):
19306 (WebCore::JSDOMWindowShell::setWindow):
19307 * bindings/js/JSEventTargetNode.cpp:
19308 (WebCore::JSEventTargetNode::createPrototype):
19309 * bindings/js/JSHTMLOptionElementConstructor.cpp:
19310 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
19311 * bindings/js/JSImageConstructor.cpp:
19312 (WebCore::JSImageConstructor::JSImageConstructor):
19313 * bindings/js/JSXMLHttpRequestConstructor.cpp:
19314 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
19315 * bindings/js/JSXSLTProcessorConstructor.cpp:
19316 (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
19317 * bindings/scripts/CodeGeneratorJS.pm:
19318
darin@apple.comad89d662008-09-22 02:12:57 +0000193192008-09-21 Darin Adler <darin@apple.com>
19320
19321 Reviewed by Maciej Stachowiak.
19322
19323 - fix problem Maciej noticed where every JSNamedNodesCollection
19324 gets its own StructureID
19325
19326 * bindings/js/JSNamedNodesCollection.cpp:
19327 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Use
19328 getDOMStructure to get the structure.
19329 * bindings/js/JSNamedNodesCollection.h:
19330 (WebCore::JSNamedNodesCollection::createPrototype): Return the
19331 object prototype.
19332
hyatt@apple.com1f2ad1e2008-09-22 00:33:19 +0000193332008-09-20 David Hyatt <hyatt@apple.com>
19334
19335 Make sure transformed scrollbars in overflow sections position
19336 properly. This patch mimics the same behavior that works for
19337 iframes, namely making sure that the same code that dynamically
19338 adjusts iframe widget positions at paint time for fixed positioning
19339 and transforms also applies to scrollbars. (This is as simple as passing
19340 in the current translation factor at paint time rather than crawling
19341 up the layer tree to compute a "false" absolute position.)
19342
19343 An existing transform test covers this (although only a pixel result
19344 reveals the correct rendering).
19345
19346 Reviewed by Darin Adler
19347
19348 * rendering/RenderLayer.cpp:
19349 (WebCore::RenderLayer::updateLayerPositions):
19350 (WebCore::RenderLayer::positionOverflowControls):
19351 (WebCore::RenderLayer::paintOverflowControls):
19352 (WebCore::RenderLayer::paintLayer):
19353 * rendering/RenderLayer.h:
19354
sfalken@apple.comd0274692008-09-22 00:08:30 +0000193552008-09-21 Steve Falkenburg <sfalken@apple.com>
19356
sfalken@apple.com4fe10f92008-09-22 00:12:28 +000019357 Removed unnecessary nested timer check.
19358
19359 Rubber-stamped by Dan Bernstein.
19360
19361 * platform/win/SharedTimerWin.cpp:
19362 (WebCore::TimerWindowWndProc):
19363
193642008-09-21 Steve Falkenburg <sfalken@apple.com>
19365
sfalken@apple.comd0274692008-09-22 00:08:30 +000019366 Improve timer resolution on WinXP.
19367 https://bugs.webkit.org/show_bug.cgi?id=20979
19368
19369 Removed last-chance timer. It should not be necessary.
19370 Change timeEndPeriod timer to fire in 300ms instead of 20ms. Calling timeBeginPeriod/timeEndPeriod too often throws off accuracy.
19371 Remove Vista checks. We now run the same code on both XP and Vista.
19372
19373 Call through to JSC::getCurrentUTCTimeWithMicroseconds from WebCore::currentTime.
19374 The code previously called GetSystemTimeAsFileTime, which is always low-resolution on XP, even within timeBeginPeriod(1).
19375
19376 Reviewed by Maciej Stachowiak.
19377
19378 * platform/win/SharedTimerWin.cpp:
19379 (WebCore::):
19380 (WebCore::TimerWindowWndProc):
19381 (WebCore::setSharedTimerFireTime):
19382 * platform/win/SystemTimeWin.cpp:
19383 (WebCore::currentTime):
19384
eric@webkit.org3e96c482008-09-21 07:59:58 +0000193852008-09-21 Dirk Schulze <vbs85@gmx.de>
19386
19387 Reviewed by eseidel. Landed by eseidel.
19388
eric@webkit.orgc3431282008-09-21 10:37:37 +000019389 All platforms use the DashArray in the GraphicsContext.
19390
19391 * svg/graphics/SVGPaintServer.h:
19392 * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp:
19393 (WebCore::SVGPaintServerGradient::setup):
19394 * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
19395 (WebCore::SVGPaintServerPattern::setup):
19396 * svg/graphics/cairo/SVGPaintServerSolidCairo.cpp:
19397 (WebCore::SVGPaintServerSolid::setup):
19398 * svg/graphics/qt/SVGPaintServerGradientQt.cpp:
19399 (WebCore::SVGPaintServerGradient::setup):
19400 * svg/graphics/qt/SVGPaintServerQt.cpp:
19401 * svg/graphics/qt/SVGPaintServerSolidQt.cpp:
19402 (WebCore::SVGPaintServerSolid::setup):
19403
194042008-09-21 Dirk Schulze <vbs85@gmx.de>
19405
19406 Reviewed by eseidel. Landed by eseidel.
19407
eric@webkit.org3e96c482008-09-21 07:59:58 +000019408 Moved DashArray to GraphicsContext.
19409
19410 * GNUmakefile.am:
19411 * WebCore.vcproj/WebCore.vcproj:
19412 * WebCore.xcodeproj/project.pbxproj:
19413 * platform/graphics/DashArray.h: Added.
19414 * platform/graphics/GraphicsContext.h:
19415 * platform/graphics/cairo/GraphicsContextCairo.cpp:
19416 (WebCore::GraphicsContext::setLineDash):
19417 * platform/graphics/cg/GraphicsContextCG.cpp:
19418 (WebCore::GraphicsContext::setLineDash):
19419 * platform/graphics/qt/GraphicsContextQt.cpp:
19420 (WebCore::GraphicsContext::setLineDash):
19421 * svg/graphics/SVGPaintServer.cpp:
19422 (WebCore::applyStrokeStyleToContext):
19423 * svg/graphics/SVGPaintServer.h:
19424 * svg/graphics/cg/CgSupport.cpp:
19425 * svg/graphics/cg/CgSupport.h:
19426
mitz@apple.com9138eca2008-09-21 07:16:29 +0000194272008-09-21 Dan Bernstein <mitz@apple.com>
19428
19429 Reviewed by Mark Rowe.
19430
19431 - fix linker warnings
19432
19433 * WebCore.base.exp:
19434
darin@apple.comb1491772008-09-21 06:34:40 +0000194352008-09-20 Darin Adler <darin@apple.com>
19436
darin@apple.comc3215132008-09-21 06:50:35 +000019437 - another try at fixing Qt
19438
19439 * bridge/qt/qt_runtime.cpp: "using namespce WebCore"
19440
194412008-09-20 Darin Adler <darin@apple.com>
19442
darin@apple.comb1491772008-09-21 06:34:40 +000019443 - blind attempt to fix Qt build
19444
19445 * bridge/qt/qt_runtime.cpp:
19446 (JSC::Bindings::convertQVariantToValue): Use regExpStructure instead
19447 of regExpPrototype to make a RegExpObject. There should really be
19448 some sort of public helper function for this. Same thing for
19449 DateInstance and dateStructure. For JSObject, use constructEmptyObject.
19450 (JSC::Bindings::):
19451 (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod): Use getDOMStructure.
19452 It is not correct to do this inside the constructor because it could
19453 cause a garbage collect while the QtRuntimeMethod object is half-
19454 allocated, which could lead to a crash; note that RuntimeMethod,
19455 QtRuntimeObjectImp, and RuntimeObjectImp have the same bug.
19456 * bridge/qt/qt_runtime.h: Add s_info and createPrototype.
19457
collinj@webkit.org8e01a432008-09-21 06:26:54 +0000194582008-09-20 Collin Jackson <collinj@webkit.org>
19459
19460 Prefetch DNS for hyperlinks that the user mouses over.
19461
19462 https://bugs.webkit.org/show_bug.cgi?id=20931
19463
19464 Reviewed by Sam Weinig.
19465
19466 * page/Chrome.cpp:
19467 (WebCore::Chrome::mouseDidMoveOverElement):
19468
darin@apple.com8281d832008-09-21 02:29:12 +0000194692008-09-20 Darin Adler <darin@apple.com>
19470
19471 Reviewed by Maciej Stachowiak.
19472
19473 - finish https://bugs.webkit.org/show_bug.cgi?id=20858
19474 make each distinct C++ class get a distinct JSC::Structure
19475
19476 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
19477 (WebCore::JSCSSStyleDeclaration::nameGetter): Pass in a structure
19478 ID. Note that this makes a new structure every time -- we could
19479 optimize this slightly be caching and reusing a single one.
19480
19481 * bridge/runtime_method.cpp:
19482 (JSC::RuntimeMethod::RuntimeMethod): Create a unique structure using
19483 getDOMStructure.
19484 * bridge/runtime_method.h:
19485 (JSC::RuntimeMethod::createPrototype): Added createPrototype so
19486 getDOMStructure will work.
19487
19488 * bindings/js/JSDOMWindowShell.cpp:
19489 (WebCore::JSDOMWindowShell::JSDOMWindowShell): Initialize m_window to
19490 0; needed in case garbage collection happens while creating the
19491 JSDOMWindow.
19492
mitz@apple.com9b3ac792008-09-21 00:42:30 +0000194932008-09-20 Dan Bernstein <mitz@apple.com>
19494
mitz@apple.comf674f4f2008-09-21 00:49:49 +000019495 Reviewed by Eric Seidel.
19496
19497 - fix https://bugs.webkit.org/show_bug.cgi?id=20950
mitz@apple.comc3dfbac2008-09-21 00:52:41 +000019498 <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 +000019499
19500 * svg/SVGTextContentElement.cpp:
19501 (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback): Changed to
19502 not include the first character in the extraCharsAvailable count.
19503
kevino@webkit.org2bc0d822008-09-20 22:31:24 +0000195042008-09-20 Kevin Ollivier <kevino@theolliviers.com>
19505
kevino@webkit.orge66435f2008-09-20 23:39:25 +000019506 Reviewed by Dan Bernstein.
19507
19508 Fix memory leak.
kevino@webkit.org6f86cbb2008-09-20 23:56:57 +000019509
19510 https://bugs.webkit.org/show_bug.cgi?id=20505
kevino@webkit.orge66435f2008-09-20 23:39:25 +000019511
19512 * platform/wx/wxcode/mac/carbon/fontprops.cpp:
19513 (GetTextExtent):
19514
195152008-09-20 Kevin Ollivier <kevino@theolliviers.com>
19516
kevino@webkit.org2bc0d822008-09-20 22:31:24 +000019517 wx build fixes. Added/removed build sources, and nativeWindow->platformWidget updates.
19518
19519 * WebCoreSources.bkl:
19520 * platform/ScrollView.h:
19521 * platform/wx/PopupMenuWx.cpp:
19522 (WebCore::PopupMenu::show):
19523 * platform/wx/RenderThemeWx.cpp:
19524 (WebCore::RenderThemeWx::paintButton):
19525 (WebCore::RenderThemeWx::paintTextField):
19526 (WebCore::RenderThemeWx::paintMenuList):
19527 (WebCore::RenderThemeWx::paintMenuListButton):
19528 * platform/wx/ScrollViewWx.cpp:
19529 (WebCore::ScrollView::setPlatformWidget):
19530 (WebCore::ScrollView::updateContents):
19531 (WebCore::ScrollView::update):
19532 (WebCore::ScrollView::visibleWidth):
19533 (WebCore::ScrollView::visibleHeight):
19534 (WebCore::ScrollView::scrollBy):
19535 (WebCore::ScrollView::resizeContents):
19536 (WebCore::ScrollView::contentsWidth):
19537 (WebCore::ScrollView::contentsHeight):
19538 (WebCore::ScrollView::isScrollViewScrollbar):
19539 (WebCore::ScrollView::adjustScrollbars):
19540 (WebCore::ScrollView::inWindow):
19541 (WebCore::ScrollView::removeChild):
19542 * platform/wx/WidgetWx.cpp:
19543 * plugins/wx/PluginViewWx.cpp:
19544 (WebCore::PluginView::setParentVisible):
19545 (WebCore::PluginView::updatePluginWidget):
19546
timothy@apple.comb697f272008-09-20 22:21:59 +0000195472008-09-20 Timothy Hatcher <timothy@apple.com>
19548
19549 Fix the new Node Search button image to not be blurry.
19550
19551 * page/inspector/Images/nodeSearchButtons.png:
19552
pewtermoose@webkit.org4cc99202008-09-20 21:30:43 +0000195532008-09-20 Matt Lilek <webkit@mattlilek.com>
19554
19555 Reviewed by Tim Hatcher.
19556
pewtermoose@webkit.orge1fc4462008-09-20 21:53:43 +000019557 Cut down some of the inspector javascript -> InspectorController glue code
19558 with two new macros. Also rearrange the exposed function list to be grouped
19559 by implementation and to all explicitly use the WebCore namespace.
19560
19561 * page/InspectorController.cpp:
19562 (WebCore::InspectorController::windowScriptObjectAvailable):
19563
195642008-09-20 Matt Lilek <webkit@mattlilek.com>
19565
19566 Reviewed by Tim Hatcher.
19567
pewtermoose@webkit.org4cc99202008-09-20 21:30:43 +000019568 Fix regression from my previous patch where the breadcrumbs bar was not displayed.
19569
19570 * page/inspector/inspector.css:
19571
zimmermann@webkit.org953b7442008-09-20 20:19:45 +0000195722008-09-20 Nikolas Zimmermann <zimmermann@kde.org>
19573
19574 Reviewed by Eric.
19575
19576 Refactor HTMLImageLoader/SVGImageLoader code.
19577 Move html/HTMLImageLoader.* to loader/ImageLoader.*
19578
19579 Let HTMLImageLoader & SVGImageLoader inherit from the new base class.
19580 SVGImageLoader used to inherit from HTMLImageLoader which is awkward.
19581
19582 * GNUmakefile.am:
19583 * WebCore.pro:
19584 * WebCore.vcproj/WebCore.vcproj:
19585 * WebCore.xcodeproj/project.pbxproj:
19586 * WebCoreSources.bkl:
19587 * dom/Document.cpp:
19588 (WebCore::Document::dispatchImageLoadEventSoon):
19589 (WebCore::Document::removeImage):
19590 (WebCore::Document::dispatchImageLoadEventsNow):
19591 * dom/Document.h:
19592 * html/HTMLImageLoader.cpp:
19593 (WebCore::HTMLImageLoader::HTMLImageLoader):
19594 (WebCore::HTMLImageLoader::~HTMLImageLoader):
19595 (WebCore::HTMLImageLoader::sourceURI):
19596 (WebCore::HTMLImageLoader::notifyFinished):
19597 * html/HTMLImageLoader.h:
19598 * loader/DocLoader.h:
19599 * loader/ImageLoader.cpp: Copied from html/HTMLImageLoader.cpp.
19600 (WebCore::ImageLoader::ImageLoader):
19601 (WebCore::ImageLoader::~ImageLoader):
19602 (WebCore::ImageLoader::setImage):
19603 (WebCore::ImageLoader::setLoadingImage):
19604 (WebCore::ImageLoader::updateFromElement):
19605 (WebCore::ImageLoader::notifyFinished):
19606 * loader/ImageLoader.h: Copied from html/HTMLImageLoader.h.
19607 * svg/SVGImageElement.cpp:
19608 (WebCore::SVGImageElement::attach):
19609 (WebCore::SVGImageElement::insertedIntoDocument):
19610 (WebCore::SVGImageElement::imageSourceAttributeName):
19611 * svg/SVGImageElement.h:
19612 * svg/SVGImageLoader.cpp:
19613 (WebCore::SVGImageLoader::SVGImageLoader):
19614 (WebCore::SVGImageLoader::dispatchLoadEvent):
19615 (WebCore::SVGImageLoader::sourceURI):
19616 * svg/SVGImageLoader.h:
19617
zecke@webkit.orgf3834492008-09-20 14:23:55 +0000196182008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
19619
zecke@webkit.org7a15a532008-09-20 14:24:27 +000019620 Build fix.
19621
zecke@webkit.orga832cca2008-09-20 14:24:45 +000019622 [qtwebkit] ScrollBar build fix after r36684.
19623 BackButtonPart was split into Start and End Part
19624 ForwardButtonPart was split into Start and End Part
19625
zecke@webkit.orga832cca2008-09-20 14:24:45 +000019626 * platform/qt/ScrollbarThemeQt.cpp:
19627 (WebCore::scPart):
19628 (WebCore::scrollbarPart):
19629 (WebCore::styleOptionSlider):
19630
196312008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
19632
19633 Build fix.
19634
zecke@webkit.org7a15a532008-09-20 14:24:27 +000019635 [qtwebkit] Make qt_instance.cpp compile.
19636 Revision of 36675 introduced getDOMStructure to give unique
19637 structure id's to C++ classes. Catch up. RuntimeObjectImp assigns
19638 the the StructureID inside the c'tor, do the same in QtRuntimeObjectImp
19639
19640 * bridge/qt/qt_instance.cpp:
19641 (JSC::Bindings::QtInstance::getRuntimeObject):
19642
196432008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
19644
zecke@webkit.orgf3834492008-09-20 14:23:55 +000019645 Reviewed by Nikolas Zimmermann.
19646
zecke@webkit.org95ff1412008-09-20 14:24:10 +000019647 [svg] Change SVGLocatable to deal with a plain SVGElement
19648 There is no requirement in the code that we have to have a
19649 SVGStyledElement. Remove that artificial limitation and compile
19650 with SVGElement.
19651
19652 * svg/SVGLocatable.cpp:
19653 * svg/SVGLocatable.h:
19654
196552008-09-20 Holger Hans Peter Freyther <zecke@selfish.org>
19656
19657 Reviewed by Nikolas Zimmermann.
19658
zecke@webkit.orgf3834492008-09-20 14:23:55 +000019659 [svg] Use OwnPtr for the SVGExtensions to avoid custom lifetime
19660 management.
19661
19662 * dom/Document.cpp:
19663 (WebCore::Document::~Document):
19664 (WebCore::Document::svgExtensions):
19665 (WebCore::Document::accessSVGExtensions):
19666 * dom/Document.h:
19667
hyatt@apple.com02bbc2c2008-09-20 04:50:21 +0000196682008-09-19 David Hyatt <hyatt@apple.com>
19669
hyatt@apple.com1fe09172008-09-20 05:09:44 +000019670 Fix for crash in updateTransitions. Make sure to test for a style
19671 being null when comparing two RenderStyles.
19672
19673 Reviewed by Oliver Hunt
19674
19675 * page/animation/AnimationBase.cpp:
19676 (WebCore::PropertyWrapperGetter::equals):
19677
196782008-09-19 David Hyatt <hyatt@apple.com>
19679
hyatt@apple.com02bbc2c2008-09-20 04:50:21 +000019680 https://bugs.webkit.org/show_bug.cgi?id=20954
19681
19682 Roll out r36628 since it has caused horrible regressions with
19683 animated GIF CPU usage.
19684
19685 * platform/graphics/BitmapImage.cpp:
19686 (WebCore::BitmapImage::cacheFrame):
19687 (WebCore::BitmapImage::startAnimation):
19688 * platform/graphics/BitmapImage.h:
19689 (WebCore::FrameData::FrameData):
19690 * platform/graphics/cairo/ImageCairo.cpp:
19691 (WebCore::FrameData::clear):
19692 * platform/graphics/cg/ImageCG.cpp:
19693 (WebCore::FrameData::clear):
19694 * platform/graphics/qt/ImageQt.cpp:
19695 (WebCore::FrameData::clear):
19696 * platform/graphics/wx/ImageWx.cpp:
19697 (WebCore::FrameData::clear):
19698
alp@webkit.orgd1e860e2008-09-20 03:43:42 +0000196992008-09-20 Alp Toker <alp@nuanti.com>
19700
19701 Reviewed by Timothy Hatcher.
19702
19703 https://bugs.webkit.org/show_bug.cgi?id=20913
19704 Avoid redudant includes
19705
19706 Document.h is included excessively such that a modification to Document.h (or
19707 any of the header it includes itself) triggers a rebuild of many files
19708 including the whole of SVG and a lot of the JS bindings.
19709
19710 Some of these includes can be avoided by only including Document.h where
19711 necessary.
19712
19713 * bindings/js/JSAttrCustom.cpp:
19714 * bindings/js/JSElementCustom.cpp:
19715 * bindings/js/JSEventTargetBase.cpp:
19716 * bindings/js/JSEventTargetBase.h:
19717 * bindings/js/JSEventTargetNode.cpp:
19718 * bindings/js/JSHTMLFrameElementCustom.cpp:
19719 * bindings/js/JSHTMLIFrameElementCustom.cpp:
19720 * bindings/scripts/CodeGeneratorJS.pm:
19721 * css/CSSCursorImageValue.cpp:
19722 * css/SVGCSSStyleSelector.cpp:
19723 * dom/make_names.pl:
19724 * svg/SVGAnimateElement.h:
19725 * svg/SVGAnimatedProperty.h:
19726 (WebCore::::baseValue):
19727 (WebCore::::setBaseValue):
19728 (WebCore::::startAnimation):
19729 (WebCore::::stopAnimation):
19730 * svg/SVGElement.cpp:
19731 (WebCore::SVGElement::accessDocumentSVGExtensions):
19732 * svg/SVGElement.h:
19733 * svg/SVGElementInstance.cpp:
19734 * svg/SVGFitToViewBox.cpp:
19735 * svg/SVGFontElement.cpp:
19736 * svg/SVGFontFaceElement.cpp:
19737 * svg/SVGLinearGradientElement.cpp:
19738 * svg/SVGMPathElement.cpp:
19739 * svg/SVGViewSpec.cpp:
19740
zimmermann@webkit.org50e33c72008-09-20 03:33:43 +0000197412008-09-19 Nikolas Zimmermann <zimmermann@kde.org>
19742
19743 Reviewed by Antti & Eric.
19744
19745 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20372
19746
19747 Finish HTMLScriptElement / SVGScriptElement unification.
19748 SVG <script> support is complete now, full SVGLoad event
19749 respecting the influence of the externalResourcesRequired attribute
19750 as well as SVGError event support. All other features shared with HTML.
19751
19752 Tests: fast/dom/HTMLScriptElement/script-reexecution.html
19753 svg/dom/SVGScriptElement/script-change-externalResourcesRequired-while-loading.svg
19754 svg/dom/SVGScriptElement/script-load-and-error-events.svg
19755 svg/dom/SVGScriptElement/script-reexecution.svg
19756 svg/dom/SVGScriptElement/script-set-href.svg
19757
19758 * dom/ScriptElement.cpp:
19759 (WebCore::ScriptElementData::ScriptElementData):
19760 (WebCore::ScriptElementData::requestScript):
19761 * dom/ScriptElement.h:
19762 (WebCore::ScriptElementData::haveFiredLoadEvent):
19763 (WebCore::ScriptElementData::setHaveFiredLoadEvent):
19764 * dom/XMLTokenizer.cpp:
19765 (WebCore::XMLTokenizer::notifyFinished):
19766 * html/HTMLScriptElement.cpp:
19767 (WebCore::HTMLScriptElement::dispatchLoadEvent):
19768 * svg/SVGScriptElement.cpp:
19769 (WebCore::SVGScriptElement::setCreatedByParser):
19770 (WebCore::SVGScriptElement::parseMappedAttribute):
19771 (WebCore::SVGScriptElement::svgAttributeChanged):
19772 (WebCore::SVGScriptElement::insertedIntoDocument):
19773 (WebCore::SVGScriptElement::removedFromDocument):
19774 (WebCore::SVGScriptElement::childrenChanged):
19775 (WebCore::SVGScriptElement::isURLAttribute):
19776 (WebCore::SVGScriptElement::finishParsingChildren):
19777 (WebCore::SVGScriptElement::type):
19778 (WebCore::SVGScriptElement::setType):
19779 (WebCore::SVGScriptElement::haveLoadedRequiredResources):
19780 (WebCore::SVGScriptElement::dispatchLoadEvent):
19781 (WebCore::SVGScriptElement::dispatchErrorEvent):
19782 * svg/SVGScriptElement.h:
19783
mitz@apple.comc7b24ea2008-09-20 03:23:22 +0000197842008-09-19 Dan Bernstein <mitz@apple.com>
19785
19786 Reviewed by John Sullivan.
19787
19788 - fix https://bugs.webkit.org/show_bug.cgi?id=20951
19789 Typo in Position::getInlineBoxAndOffset()
19790 and add an assertion
19791
19792 Without the fix, the newly-added assertion fails in platform/mac/editing/input/caret-primary-bidi.html
19793
19794 * dom/Position.cpp:
19795 (WebCore::Position::getInlineBoxAndOffset):
19796 * rendering/InlineTextBox.cpp:
19797 (WebCore::InlineTextBox::positionForOffset):
19798
hyatt@apple.comd48dbf32008-09-20 03:21:14 +0000197992008-09-19 David Hyatt <hyatt@apple.com>
19800
19801 Add support for hit testing of all five possible scrollbar button placements.
19802
19803 Reviewed by Sam Weinig
19804
19805 * platform/ScrollbarThemeComposite.cpp:
19806 (WebCore::ScrollbarThemeComposite::paint):
19807 * platform/mac/ScrollbarThemeMac.mm:
19808 (WebCore::):
19809 (WebCore::ScrollbarThemeMac::backButtonRect):
19810 (WebCore::ScrollbarThemeMac::forwardButtonRect):
19811 (WebCore::ScrollbarThemeMac::trackRect):
19812 (WebCore::ScrollbarThemeMac::paintButton):
19813
darin@apple.com1c4cd8f2008-09-20 01:05:35 +0000198142008-09-19 Darin Adler <darin@apple.com>
19815
19816 - try to fix Qt build
19817
19818 * bridge/qt/qt_instance.cpp:
19819 (JSC::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp): Add structure argument.
19820 (JSC::Bindings::QtInstance::getRuntimeObject): Ditto.
19821 * bridge/runtime_object.cpp:
19822 (JSC::RuntimeObjectImp::RuntimeObjectImp): Add an overload just for Qt.
19823 * bridge/runtime_object.h: Ditto.
19824
dino@apple.com7c236592008-09-20 00:53:49 +0000198252008-09-19 Chris Marrin <cmarrin@apple.com>
19826
19827 Reviewed by Dave Hyatt.
19828
19829 Transition starts running when it shouldn't
19830 https://bugs.webkit.org/show_bug.cgi?id=20892
19831
19832 When there is a transition and an animation on the
19833 same element, make sure the animation wins.
19834
19835 The fix is to save the unanimated style when an animation is started.
19836 Then, when starting a transition, check to see if there is a current
19837 animation on the same prop. If so, use the unanimated style as the
19838 fromStyle rather than the current style.
19839
19840 Test: animations/transition-and-animation-1.html
19841
19842 * page/animation/CompositeAnimation.cpp:
19843 (WebCore::CompositeAnimation::updateTransitions):
19844 (WebCore::CompositeAnimation::updateKeyframeAnimations):
19845 (WebCore::CompositeAnimation::animate):
19846 (WebCore::CompositeAnimation::getAnimationForProperty):
19847 * page/animation/CompositeAnimation.h:
19848 * page/animation/ImplicitAnimation.cpp:
19849 (WebCore::ImplicitAnimation::reset):
19850 * page/animation/ImplicitAnimation.h:
19851 * page/animation/KeyframeAnimation.cpp:
19852 (WebCore::KeyframeAnimation::hasAnimationForProperty):
19853 * page/animation/KeyframeAnimation.h:
19854 (WebCore::KeyframeAnimation::KeyframeAnimation):
19855 (WebCore::KeyframeAnimation::unanimatedStyle):
19856
hyatt@apple.comea254e22008-09-20 00:42:36 +0000198572008-09-19 David Hyatt <hyatt@apple.com>
19858
19859 Add support for painting/hit testing of four possible scrollbar buttons.
19860 The Windows themes simply ignore the two parts that they will never
19861 show. The Mac theme also ignores the other two buttons for now.
19862
19863 The cross-platform base for all three themes, ScrollbarThemeComposite,
19864 has all the proper support though.
19865
19866 Reviewed by Sam Weinig
19867
19868 * platform/ScrollbarThemeComposite.cpp:
19869 (WebCore::ScrollbarThemeComposite::hitTest):
19870 (WebCore::ScrollbarThemeComposite::invalidatePart):
19871 * platform/ScrollbarThemeComposite.h:
19872 * platform/mac/ScrollbarThemeMac.h:
19873 * platform/mac/ScrollbarThemeMac.mm:
19874 (WebCore::ScrollbarThemeMac::backButtonRect):
19875 (WebCore::ScrollbarThemeMac::forwardButtonRect):
19876 (WebCore::ScrollbarThemeMac::paintButton):
19877 * platform/win/ScrollbarThemeSafari.cpp:
19878 (WebCore::ScrollbarThemeSafari::backButtonRect):
19879 (WebCore::ScrollbarThemeSafari::forwardButtonRect):
19880 (WebCore::ScrollbarThemeSafari::paintButton):
19881 * platform/win/ScrollbarThemeSafari.h:
19882 * platform/win/ScrollbarThemeWin.cpp:
19883 (WebCore::ScrollbarThemeWin::backButtonRect):
19884 (WebCore::ScrollbarThemeWin::forwardButtonRect):
19885 (WebCore::ScrollbarThemeWin::paintButton):
19886 * platform/win/ScrollbarThemeWin.h:
19887
pewtermoose@webkit.org0e3da6e2008-09-20 00:11:32 +0000198882008-09-19 Matt Lilek <webkit@mattlilek.com>
19889
19890 Reviewed by Tim Hatcher.
19891
19892 Bug 17772: Inspector should support point-and-click to select a node to inspect
19893 https://bugs.webkit.org/show_bug.cgi?id=17772
19894 <rdar://problem/5792395>
19895
19896 * English.lproj/localizedStrings.js:
19897 * page/Chrome.cpp:
19898 (WebCore::Chrome::mouseDidMoveOverElement):
19899 * page/EventHandler.cpp:
19900 (WebCore::EventHandler::handleMousePressEvent):
19901 * page/InspectorController.cpp:
19902 (WebCore::toggleNodeSearch):
19903 (WebCore::searchingForNode):
19904 (WebCore::InspectorController::InspectorController):
19905 (WebCore::InspectorController::toggleSearchForNodeInPage):
19906 (WebCore::InspectorController::mouseDidMoveOverElement):
19907 (WebCore::InspectorController::handleMousePressOnNode):
19908 (WebCore::InspectorController::windowScriptObjectAvailable):
19909 * page/InspectorController.h:
19910 (WebCore::InspectorController::searchingForNodeInPage):
19911 * page/inspector/ElementsPanel.js:
19912 * page/inspector/Images/nodeSearchButtons.png: Added.
19913 * page/inspector/inspector.css:
19914
hyatt@apple.com57b2d522008-09-19 23:39:26 +0000199152008-09-19 David Hyatt <hyatt@apple.com>
19916
19917 Add new scrollbar parts to be able to represent back and forward buttons
19918 at either end of the scrollbar. The current scrollbar still just draws
19919 a single button at either end, but the parts now exist.
19920
19921 Reviewed by Sam Weinig
19922
19923 * platform/ScrollTypes.h:
19924 (WebCore::):
19925 * platform/Scrollbar.cpp:
19926 (WebCore::Scrollbar::autoscrollTimerFired):
19927 (WebCore::Scrollbar::pressedPartScrollDirection):
19928 (WebCore::Scrollbar::pressedPartScrollGranularity):
19929 (WebCore::Scrollbar::handleMouseMoveEvent):
19930 * platform/ScrollbarTheme.h:
19931 (WebCore::ScrollbarTheme::buttonsPlacement):
19932 (WebCore::ScrollbarTheme::invalidateParts):
19933 * platform/ScrollbarThemeComposite.cpp:
19934 (WebCore::ScrollbarThemeComposite::paint):
19935 (WebCore::ScrollbarThemeComposite::hitTest):
19936 (WebCore::ScrollbarThemeComposite::invalidatePart):
19937 * platform/ScrollbarThemeComposite.h:
19938
bdakin@apple.com5b0a3b22008-09-19 23:02:03 +0000199392008-09-19 Beth Dakin <bdakin@apple.com>
19940
19941 Reviewed by Dave Hyatt.
19942
19943 Fix for <rdar://problem/6231308> crash in AutoTableLayout
19944
19945 The code assumes later on that a TableSection's grid's row vector
19946 will never be empty. So make 1 the minimum number of columns.
19947
19948 * rendering/RenderTableSection.cpp:
19949 (WebCore::RenderTableSection::ensureRows):
19950
hyatt@apple.comaf711ec2008-09-19 22:55:56 +0000199512008-09-19 David Hyatt <hyatt@apple.com>
19952
19953 Add a new ScrollbarButtonsPlacement type for specifying where
19954 the button arrows are in a scrollbar.
19955
19956 Read in the placement settings for Mac. Nothing is done with the
19957 setting yet.
19958
19959 Add a new buttonsPlacement() method to ScrollbarTheme composite
19960 so that the arrow settings can be obtained.
19961
19962 Reviewed by Sam Weinig
19963
19964 * platform/ScrollTypes.h:
19965 (WebCore::):
19966 * platform/ScrollbarThemeComposite.h:
19967 (WebCore::ScrollbarThemeComposite::buttonsPlacement):
19968 * platform/mac/ScrollbarThemeMac.mm:
19969 (WebCore::updateArrowPlacement):
19970 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
19971
sfalken@apple.com64602042008-09-19 22:47:45 +0000199722008-09-19 Steve Falkenburg <sfalken@apple.com>
19973
19974 Roll out r36626. It is causing variance in SunSpider numbers on XP.
19975
19976 Rubber stamped by Mark Rowe.
19977
19978 * platform/win/SharedTimerWin.cpp:
19979 (WebCore::isRunningOnVistaOrLater):
19980 (WebCore::setSharedTimerFireTime):
19981
kmccullough@apple.comd203b242008-09-19 21:56:14 +0000199822008-09-19 Kevin McCullough <kmccullough@apple.com>
19983
19984 Reviewed by Tim.
19985
19986 https://bugs.webkit.org/show_bug.cgi?id=20942
19987 Bug 20942: Repeated messages in resources don't collapse
19988 - Now repeated messages in a resource's view are collapsed and a message
19989 says how many were repeated.
19990
19991 * English.lproj/localizedStrings.js:
19992 * manual-tests/inspector/multiple-console-messages.html:
19993 * page/inspector/Console.js: Send all the messages to the resource's
19994 view before possibly returning early if the message is a repeat.
19995 * page/inspector/SourceFrame.js: Add the text about the message being
19996 repeated, if it is, and increment it when necessary.
19997
cfleizach@apple.com0abaacc2008-09-19 21:39:21 +0000199982008-09-19 Chris Fleizach <cfleizach@apple.com>
19999
20000 Removed unnecessary #if
20001
20002 * page/mac/AccessibilityObjectWrapper.mm:
20003
hyatt@apple.comc9967ce92008-09-19 21:20:59 +0000200042008-09-19 David Hyatt <hyatt@apple.com>
20005
hyatt@apple.comf658e502008-09-19 22:12:07 +000020006 Read in prefs for the scroll delay repeat values for buttons. Also
20007 honor the option-click pref for jumping to the thumb when clicking in
20008 the track.
20009
20010 Reviewed by Sam Weinig
20011
20012 * platform/mac/ScrollbarThemeMac.h:
20013 * platform/mac/ScrollbarThemeMac.mm:
20014 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
20015 (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
20016 (WebCore::ScrollbarThemeMac::autoscrollTimerDelay):
20017 (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
20018
200192008-09-19 David Hyatt <hyatt@apple.com>
20020
hyatt@apple.comc9967ce92008-09-19 21:20:59 +000020021 Move ScrollbarThemeMac.cpp to ScrollbarThemeMac.mm so it can use Obj-C.
20022 Set the initial button repeat delay to 0.5 for Mac.
20023
20024 Reviewed by Sam Weinig
20025
20026 * WebCore.xcodeproj/project.pbxproj:
20027 * platform/mac/ScrollbarThemeMac.cpp: Removed.
20028 * platform/mac/ScrollbarThemeMac.h:
20029 (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
20030 * platform/mac/ScrollbarThemeMac.mm: Copied from platform/mac/ScrollbarThemeMac.cpp.
20031
darin@apple.com39a180f2008-09-19 21:15:14 +0000200322008-09-19 Darin Adler <darin@apple.com>
20033
20034 Reviewed by Sam Weinig.
20035
20036 - part 2 of https://bugs.webkit.org/show_bug.cgi?id=20858
20037 make each distinct C++ class get a distinct JSC::Structure
20038
20039 + Fixed all cases where we were using a shared structure for multiple
20040 C++ classes in WebCore. This still has to be done in JavaScriptCore.
20041
20042 + Got rid of cacheGlobalObject.
20043
20044 + Improved use of PassRefPtr in bindings code.
20045
20046 + Removed a couple cases where we were potentially allocating prototypes
20047 inside a JSObject's construction process -- this can lead to trouble if
20048 we do a garbage collection while an object is only partly constructed.
20049
20050 * bindings/js/JSAudioConstructor.cpp:
20051 (WebCore::JSAudioConstructor::JSAudioConstructor): Create a structure explicitly
20052 so we don't implicitly share the structure with other objects that use the object
20053 prototype.
20054
20055 * bindings/js/JSDOMBinding.cpp:
20056 (WebCore::getCachedDOMConstructor): Added. To be used for constructors so we
20057 don't need cacheGlobalObject any more.
20058 (WebCore::cacheDOMConstructor): Ditto.
20059
20060 * bindings/js/JSDOMBinding.h: Removed DOMObject constructor that takes a prototype.
20061 Added functions and a function template for getting cached DOM constructors.
20062 Removed cacheGlobalObject function template.
20063
20064 * bindings/js/JSDOMWindowBase.cpp:
20065 (WebCore::JSDOMWindowBase::JSDOMWindowBase): Take a PassRefPtr<DOMWindow> since
20066 we're taking ownership.
20067 * bindings/js/JSDOMWindowBase.h: Changed constructor to take PassRefPtr, since
20068 we're taking ownership. Added constructor map.
20069 * bindings/js/JSDOMWindowCustom.cpp:
20070 (WebCore::JSDOMWindow::mark): Mark the constructors in the map.
20071
20072 * bindings/js/JSDOMWindowShell.cpp:
20073 (WebCore::JSDOMWindowShell::JSDOMWindowShell): Take a PassRefPtr<DOMWindow> since
20074 we're taking ownership. Use the new setWindow function to create the JSDOMWindow;
20075 this is now done in only that one place.
20076 (WebCore::JSDOMWindowShell::setWindow): Added. Creates the JSDOMWindow based on
20077 the passed-in DOMWindow. Code was moved here and changed to allocate unique
20078 structures for both the window prototype and the window.
20079 * bindings/js/JSDOMWindowShell.h: Ditto.
20080
20081 * bindings/js/JSEventTargetBase.h: Changed class template argument so it doesn't
20082 have the same name (JSEventTarget) as an actual class. Removed unhelpful use of
20083 private/friend in JSEventTargetBase. Removed comments referring to defunct
20084 macros. Changed JSEventTargetBasePrototype to get the prototype with the new
20085 rather than its own copy of cacheGlobalObject (I missed this during pass 1).
20086 Changed JSEventTargetBasePrototype so it doesn't have so many template arguments.
20087
20088 * bindings/js/JSEventTargetNode.cpp: Added s_info; needed for the new scheme
20089 for caching structures and prototypes.
20090 (WebCore::JSEventTargetNode::JSEventTargetNode): Use PassRefPtr.
20091 (WebCore::JSEventTargetNode::createPrototype): Added.
20092 * bindings/js/JSEventTargetNode.h: Updated for above changes.
20093
20094 * bindings/js/JSHTMLAllCollection.h:
20095 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Use PassRefPtr.
20096 * bindings/js/JSHTMLCollectionCustom.cpp:
20097 (WebCore::getNamedItems): Pass ExecState instead of prototype.
20098 * bindings/js/JSHTMLFormElementCustom.cpp:
20099 (WebCore::JSHTMLFormElement::nameGetter): Ditto.
20100 * bindings/js/JSHTMLInputElementBase.cpp:
20101 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Use PassRefPtr.
20102 * bindings/js/JSHTMLInputElementBase.h: Ditto.
20103 * bindings/js/JSHTMLOptionElementConstructor.cpp:
20104 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
20105 Create a unique structure instead of sharing.
20106 * bindings/js/JSImageConstructor.cpp:
20107 (WebCore::JSImageConstructor::JSImageConstructor): Ditto.
20108
20109 * bindings/js/JSInspectedObjectWrapper.cpp:
20110 (WebCore::JSInspectedObjectWrapper::wrap): Removed overload that takes
20111 a prototype rather than a structure. Made the use of inheritorID() here
20112 explicit.
20113 * bindings/js/JSInspectedObjectWrapper.h: Ditto.
20114 * bindings/js/JSInspectorCallbackWrapper.cpp:
20115 (WebCore::JSInspectorCallbackWrapper::wrap): Ditto.
20116 * bindings/js/JSInspectorCallbackWrapper.h: Ditto.
20117
20118 * bindings/js/JSNamedNodesCollection.cpp:
20119 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Changed to
20120 take an ExecState argument instead of a prototype. Create a unique
20121 StructureID instead of sharing.
20122 * bindings/js/JSNamedNodesCollection.h: Ditto.
20123
20124 * bindings/js/JSQuarantinedObjectWrapper.cpp: Removed overloaded
20125 constructor that takes a prototype instead of a structure.
20126 * bindings/js/JSQuarantinedObjectWrapper.h: Ditto.
20127
20128 * bindings/js/JSRGBColor.cpp:
20129 (WebCore::JSRGBColor::JSRGBColor): Take ExecState instead of a
20130 prototype; create a unique structure.
20131 (WebCore::getJSRGBColor): Ditto.
20132 * bindings/js/JSRGBColor.h: Ditto.
20133
20134 * bindings/js/JSSQLResultSetRowListCustom.cpp:
20135 (WebCore::JSSQLResultSetRowList::item): Use constructEmptyObject instead
20136 of explicit coding the idiom for making a new object.
20137
20138 * bindings/js/JSXMLHttpRequestConstructor.cpp:
20139 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
20140 Create a unique structure instead of the shared one.
20141 * bindings/js/JSXSLTProcessorConstructor.cpp:
20142 (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
20143 Ditto.
20144
20145 * bindings/js/ScriptController.cpp:
20146 (WebCore::ScriptController::clearWindowShell): Let the window shell's
20147 setWindow function create the JSDOMWindow instead of doing it here.
20148
20149 * bindings/scripts/CodeGeneratorJS.pm: Changed to use PassRefPtr for
20150 the structure and the wrapped object when creating wrappers.
20151 Simplified some of the special cases for DOMWindow so they are
20152 different only in ways the need to be. Eliminated the
20153 JSDOMWindow::createPrototype and JSDOMWindowPrototype::self
20154 functions. Moved responsibility for creating the structure and
20155 parent prototype out of the prototype constructor into the
20156 createPrototype function. Removed the unused "DoNotCache" flag for
20157 objects other than DOMWindow. Use getDOMConstructor instead of
20158 cacheGlobalObject for constructors. Make each constructor have
20159 a unique structure ID.
20160
20161 * bridge/objc/objc_runtime.h: Added createPrototype and changed the
20162 name of the info member to s_info so we can use the standard DOM
20163 binding macros to handl the prototype.
20164 * bridge/objc/objc_runtime.mm: Fixed namespacing a bit.
20165 (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
20166 Create a unique structure using getDOMStructure.
20167
20168 * bridge/runtime_array.cpp: Fixed namespacing a bit.
20169 (JSC::RuntimeArray::RuntimeArray): Create a unique structure using
20170 getDOMStructure.
20171 * bridge/runtime_array.h: Added createPrototype so getDOMStructure
20172 will work.
20173
20174 * bridge/runtime_object.cpp:
20175 (JSC::RuntimeObjectImp::RuntimeObjectImp): Create a unique structure using
20176 getDOMStructure.
20177 * bridge/runtime_object.h: Added createPrototype so getDOMStructure
20178 will work.
20179
20180 * history/CachedPage.cpp:
20181 (WebCore::CachedPage::restore): Let the window shell's
20182 setWindow function create the JSDOMWindow instead of doing it here.
20183
20184 * page/DOMWindow.idl: Removed DoNotCache, which is no longer used.
20185
mitz@apple.comd6b74252008-09-19 21:02:55 +0000201862008-09-19 Dan Bernstein <mitz@apple.com>
20187
20188 Reviewed by Dave Hyatt.
20189
20190 This optimization was suggested by Daniel Fenwick
20191
20192 - speed up measuring text on the Core Text code path by not specifying a paragraph writing direction
20193
20194 Specifying LTR paragraph directionality when measuring runs of RTL text
mitz@apple.com308acec2008-09-19 21:10:48 +000020195 resulted in typically two CTRuns being generated for every run instead
mitz@apple.comd6b74252008-09-19 21:02:55 +000020196 of one, due to the leading space being reordered to the left.
20197
20198 * platform/graphics/SimpleFontData.h: Removed the ltr parameter to
20199 getCFStringAttributes() and changed m_CFStringAttributes from an array
20200 to a single value.
20201 * platform/graphics/mac/CoreTextController.cpp:
20202 (WebCore::CoreTextController::CoreTextController): Added a
20203 mayUseNaturalWritingDirection parameter.
20204 (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Changed
20205 to force the bidi embedding level whenever
20206 m_mayUseNaturalWritingDirectrion is false. Since this is now a common
20207 case, made the typesetter options dictionaries static.
20208 * platform/graphics/mac/CoreTextController.h:
20209 * platform/graphics/mac/FontMacCoreText.cpp:
20210 (WebCore::Font::selectionRectForComplexText): Renamed a local variable.
20211 (WebCore::Font::floatWidthForComplexText): Changed to allow the
20212 CoreTextController to not set the writing direction.
20213 * platform/graphics/mac/SimpleFontDataMac.mm:
20214 (WebCore::SimpleFontData::getCFStringAttributes): Removed the ltr
20215 parameter and the paragraph style attribute.
20216
hyatt@apple.com2d7bdf72008-09-19 20:54:33 +0000202172008-09-19 David Hyatt <hyatt@apple.com>
20218
20219 Reviewed by Sam Weinig
20220
20221 https://bugs.webkit.org/show_bug.cgi?id=20941
20222
20223 Incorrect height calculation for replaced element inside nested
20224 positioned elements (where the inner has a percentage height and
20225 the outer implicitly has a fixed height because of explicit top/bottom
20226 values).
20227
20228 Added fast/block/positioning/replaced-inside-top-bottom.html
20229
20230 * rendering/RenderBox.cpp:
20231 (WebCore::RenderBox::availableHeightUsing):
20232
cfleizach@apple.com37bd8d72008-09-19 20:48:57 +0000202332008-09-19 Chris Fleizach <cfleizach@apple.com>
20234
20235 Fix Tiger bustage
20236
20237 * page/mac/AccessibilityObjectWrapper.mm:
20238
cfleizach@apple.com63b88ab2008-09-19 20:24:48 +0000202392008-09-18 Chris Fleizach <cfleizach@apple.com>
20240
20241 Reviewed by Darin Adler.
20242
20243 <rdar://problem/6211041> Expose legend tag in accessibility
20244
20245 Exposes the legend tag as the titleUIElement of a fieldset
20246
20247 Test: accessibility/legend.html
20248
20249 * page/AccessibilityObject.h:
20250 (WebCore::AccessibilityObject::isFieldset):
20251 * page/AccessibilityRenderObject.cpp:
20252 (WebCore::AccessibilityRenderObject::isFieldset):
20253 (WebCore::AccessibilityRenderObject::titleUIElement):
20254 * page/AccessibilityRenderObject.h:
20255 * rendering/RenderFieldset.h:
20256
cfleizach@apple.comcff26212008-09-19 20:04:13 +0000202572008-09-19 Chris Fleizach <cfleizach@apple.com>
20258
20259 Reviewed by Darin Adler.
20260
20261 <rdar://problem/6213171> WebKit should use new array-centric methods for AX performance
20262
20263 Implement a few AX API methods that will be called by AppKit, which will
20264 speed up access to accessibility objects
20265
20266 * page/mac/AccessibilityObjectWrapper.mm:
20267 (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
20268 (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
20269 (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
20270
zecke@webkit.org7594eb62008-09-19 11:06:55 +0000202712008-09-19 Holger Hans Peter Freyther <zecke@selfish.org>
20272
20273 Reviewed by Simon Hausmann.
20274
zecke@webkit.org3df68032008-09-19 11:43:27 +000020275 [qtwebkit] Set the m_should* flags to their proper value on entry
20276 With plugins it was possible that we finished a job twice. This was
20277 some kind of reentrancy in QNetworkReplyHandler::sendQueuedItems. By
20278 setting the flag to (m_loadMode == LoadDeferred) they will always have
20279 the right value and we will not send responses twice.
20280
20281 * platform/network/qt/QNetworkReplyHandler.cpp:
20282
202832008-09-19 Holger Hans Peter Freyther <zecke@selfish.org>
20284
20285 Reviewed by Simon Hausmann.
20286
zecke@webkit.org7594eb62008-09-19 11:06:55 +000020287 [qtwebkit] Pass test 70 of acid3. Handle text decoding errors
20288 Handle text decoding errors before instructing the parser to parse. We
20289 have converted the text to QString and all encoding errors are gone and
20290 the parser will not be able to detect them. So handle them before parsing.
20291
20292 * dom/XMLTokenizerQt.cpp:
20293 (WebCore::XMLTokenizer::doWrite):
20294
darin@apple.comc9aea832008-09-19 06:49:35 +0000202952008-09-18 Darin Adler <darin@apple.com>
20296
20297 Reviewed by Maciej Stachowiak.
20298
20299 - part 1 of https://bugs.webkit.org/show_bug.cgi?id=20858
20300 make each distinct C++ class get a distinct JSC::Structure
20301
20302 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
20303 (WebCore::JSCSSStyleDeclaration::customPut): Use setDOMException
20304 instead of DOMExceptionTranslator.
20305
20306 * bindings/js/JSDOMBinding.cpp:
20307 (WebCore::getCachedDOMObjectWrapper): Updated function name.
20308 (WebCore::cacheDOMObjectWrapper): Ditto.
20309 (WebCore::forgetDOMObject): Ditto.
20310 (WebCore::getCachedDOMNodeWrapper): Ditto.
20311 (WebCore::forgetDOMNode): Ditto.
20312 (WebCore::cacheDOMNodeWrapper): Ditto.
20313 (WebCore::forgetAllDOMNodesForDocument): Ditto.
20314 (WebCore::markDOMNodesForDocument): Ditto.
20315 (WebCore::updateDOMNodeDocument): Ditto.
20316 (WebCore::getCachedDOMStructure): Added.
20317 (WebCore::createDOMStructure): Ditto.
20318
20319 * bindings/js/JSDOMBinding.h: Get rid of the ScriptInterpreter
20320 class and replace the static member functions with non-member
20321 functions. Added many other functions for getting at structures,
20322 prototypes, wrappers, and creating them. Also moved the
20323 cacheGlobalObject function here from JavaScriptCore; eventually
20324 I'll remove that once I get rid of the remaining callers. Also
20325 removed the DOMExceptionTranslator class.
20326
20327 * bindings/js/JSDOMWindowBase.h: Added JSDOMStructureMap type,
20328 and put one of those maps in each window.
20329
20330 * bindings/js/JSDOMWindowCustom.cpp:
20331 (WebCore::markDOMObjectWrapper): Updated for function name change.
20332 (WebCore::JSDOMWindow::mark): Added code to mark all the structures
20333 in the structure map.
20334
20335 * bindings/js/JSEventTargetNode.cpp:
20336 (WebCore::JSEventTargetNode::JSEventTargetNode): Changed to take
20337 a structure instead of a prototype.
20338 * bindings/js/JSEventTargetNode.h: Ditto.
20339 * bindings/js/JSHTMLAllCollection.h:
20340 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Ditto.
20341
20342 * bindings/js/JSHTMLInputElementBase.cpp:
20343 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Removed
20344 use of the JSC_IMPLEMENT_PROTOTYPE macro, and changed to take a
20345 structure instead of a prototype.
20346 * bindings/js/JSHTMLInputElementBase.h: Removed use of the
20347 JSC_DEFINE_PROTOTYPE_WITH_PROTOTYPE macro, and changed constructor
20348 to take a structure instead of a prototype. Created a dummy prototype
20349 class that causes the HTMLInputElement prototype to have the
20350 HTMLElement prototype.
20351
20352 * bindings/scripts/CodeGeneratorJS.pm: Change constructors to take
20353 structures instead of prototypes. Changed the prototype self function
20354 to use the getDOMPrototype function -- later we can eliminate it and
20355 have callers invoke getDOMPrototype directly instead. Updated other
20356 functions that have name changes. Added code to generate the
20357 createPrototype member function. Changed use of cacheGlobalObject to
20358 get it from the WebCore namespace instead of the JSC namespace.
20359 Changed cacheDOMObject calls to use getDOMObjectWrapper instead.
20360
20361 * dom/Document.cpp:
20362 (WebCore::Document::~Document): Updated for name change and also
20363 removed unnecessary JSLock use -- there's no need to lock around this.
20364 * dom/Node.cpp:
20365 (WebCore::Node::setDocument): Ditto.
20366
20367 * dom/make_names.pl: Changed to use CREATE_DOM_NODE_WRAPPER macro
20368 instead of calling new directly.
20369
20370 * bindings/js/JSCSSRuleCustom.cpp:
20371 (WebCore::toJS): Updated for function name changes and used the
20372 CREATE_DOM_OBJECT_WRAPPER macro.
20373 * bindings/js/JSCSSValueCustom.cpp:
20374 (WebCore::toJS): Ditto.
20375 * bindings/js/JSCanvasPixelArrayCustom.cpp:
20376 (WebCore::toJS): Ditto.
20377 * bindings/js/JSDocumentCustom.cpp:
20378 (WebCore::JSDocument::mark): Ditto.
20379 (WebCore::toJS): Ditto.
20380 * bindings/js/JSElementCustom.cpp:
20381 (WebCore::toJSNewlyCreated): Ditto.
20382 * bindings/js/JSEventCustom.cpp:
20383 (WebCore::toJS): Ditto.
20384 * bindings/js/JSEventTargetBase.cpp:
20385 (WebCore::jsEventTargetDispatchEvent): Use setDOMException instead
20386 of DOMExceptionTranslator.
20387 (WebCore::toJS): Updated for function name changes and used the
20388 CREATE_DOM_OBJECT_WRAPPER macro.
20389 * bindings/js/JSHTMLCollectionCustom.cpp:
20390 (WebCore::toJS): Ditto.
20391 * bindings/js/JSNodeCustom.cpp:
20392 (WebCore::JSNode::mark): Ditto.
20393 (WebCore::createWrapper): Ditto.
20394 (WebCore::toJS): Ditto.
20395 * bindings/js/JSSVGPathSegCustom.cpp:
20396 (WebCore::toJS): Ditto.
20397 * bindings/js/JSStyleSheetCustom.cpp:
20398 (WebCore::toJS): Ditto.
20399 (WebCore::JSStyleSheet::mark): Ditto.
20400 * bindings/js/JSTextCustom.cpp:
20401 (WebCore::toJSNewlyCreated): Ditto.
20402 * bindings/js/JSXMLHttpRequestConstructor.cpp:
20403 (WebCore::constructXMLHttpRequest): Ditto.
20404 * bindings/js/JSXMLHttpRequestCustom.cpp:
20405 (WebCore::JSXMLHttpRequest::mark): Ditto.
20406 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
20407 (WebCore::JSXMLHttpRequestUpload::mark): Ditto.
20408 * bindings/js/JSXSLTProcessorConstructor.cpp:
20409 (WebCore::constructXSLTProcessor): Ditto.
20410 * bindings/js/ScriptController.cpp:
20411 (WebCore::ScriptController::finishedWithEvent): Ditto.
20412 * xml/XMLHttpRequest.cpp:
20413 (WebCore::XMLHttpRequest::loadRequestAsynchronously): Ditto.
20414 (WebCore::XMLHttpRequest::dropProtection): Ditto.
20415
hyatt@apple.com083539d2008-09-19 06:30:16 +0000204162008-09-18 David Hyatt <hyatt@apple.com>
20417
20418 This patch gets a viewless scrollbar working on Mac. It is turned off
20419 by default. Hit testing works. For now the scrollbar just paints ugly
20420 debug rects in the place of the buttons, track and thumb. It does match
20421 Aqua metrics though.
20422
20423 Reviewed by Sam Weinig
20424
20425 * WebCore.xcodeproj/project.pbxproj:
20426 * page/mac/EventHandlerMac.mm:
20427 (WebCore::EventHandler::passMousePressEventToScrollbar):
20428 * platform/ScrollbarThemeComposite.cpp:
20429 (WebCore::ScrollbarThemeComposite::paint):
20430 (WebCore::ScrollbarThemeComposite::trackPosition):
20431 * platform/ScrollbarThemeComposite.h:
20432 * platform/mac/ScrollViewMac.mm:
20433 (WebCore::ScrollView::addChild):
20434 * platform/mac/ScrollbarThemeMac.cpp:
20435 (WebCore::):
20436 (WebCore::ScrollbarThemeMac::hasButtons):
20437 (WebCore::ScrollbarThemeMac::hasThumb):
20438 (WebCore::buttonRepaintRect):
20439 (WebCore::ScrollbarThemeMac::backButtonRect):
20440 (WebCore::ScrollbarThemeMac::forwardButtonRect):
20441 (WebCore::trackRepaintRect):
20442 (WebCore::ScrollbarThemeMac::trackRect):
20443 (WebCore::ScrollbarThemeMac::minimumThumbLength):
20444 (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
20445 (WebCore::ScrollbarThemeMac::paintTrack):
20446 (WebCore::ScrollbarThemeMac::paintButton):
20447 (WebCore::ScrollbarThemeMac::paintThumb):
20448 * platform/mac/ScrollbarThemeMac.h:
20449 (WebCore::ScrollbarThemeMac::supportsControlTints):
20450 * platform/qt/ScrollbarThemeQt.cpp:
20451 (WebCore::ScrollbarThemeQt::trackPosition):
20452
collinj@webkit.org51261aa2008-09-19 06:13:22 +0000204532008-09-18 Collin Jackson <collinj@webkit.org>
20454
20455 Build fix; added missing header file to GNUmakefile.am
20456
20457 * GNUmakefile.am:
20458
weinig@apple.com39aecbe2008-09-19 04:56:21 +0000204592008-09-18 Sam Weinig <sam@webkit.org>
20460
20461 Reviewed by David "the Hair" Hyatt.
20462
20463 Move DataRef, SVGRenderStyle and SVGRenderStyleDefs in render/style.
20464
20465 * GNUmakefile.am:
20466 * WebCore.pro:
20467 * WebCore.vcproj/WebCore.vcproj:
20468 * WebCore.xcodeproj/project.pbxproj:
20469 * rendering/DataRef.h: Removed.
20470 * rendering/SVGRenderStyle.cpp: Removed.
20471 * rendering/SVGRenderStyle.h: Removed.
20472 * rendering/SVGRenderStyleDefs.cpp: Removed.
20473 * rendering/SVGRenderStyleDefs.h: Removed.
20474 * rendering/style/DataRef.h: Copied from rendering/DataRef.h.
20475 * rendering/style/SVGRenderStyle.cpp: Copied from rendering/SVGRenderStyle.cpp.
20476 * rendering/style/SVGRenderStyle.h: Copied from rendering/SVGRenderStyle.h.
20477 * rendering/style/SVGRenderStyleDefs.cpp: Copied from rendering/SVGRenderStyleDefs.cpp.
20478 * rendering/style/SVGRenderStyleDefs.h: Copied from rendering/SVGRenderStyleDefs.h.
20479
mrowe@apple.coma5206592008-09-19 04:47:58 +0000204802008-09-18 Mark Rowe <mrowe@apple.com>
20481
20482 Reviewed by Dan Bernstein.
20483
20484 Add a means of clearing a FrameTree's name.
20485
20486 * WebCore.base.exp:
20487 * page/FrameTree.cpp:
20488 (WebCore::FrameTree::clearName):
20489 * page/FrameTree.h:
20490
hyatt@apple.com6eeef382008-09-19 04:30:53 +0000204912008-09-18 David Hyatt <hyatt@apple.com>
20492
20493 Eliminate addToSuperview from Widget, since it was only called
20494 by ScrollViewMac's addChild method. Just shift the original body
20495 of addToSuperView into addChild.
20496
20497 Reviewed by Sam Weinig
20498
20499 * platform/Widget.h:
20500 * platform/mac/ScrollViewMac.mm:
20501 (WebCore::ScrollView::addChild):
20502 * platform/mac/WidgetMac.mm:
20503
collinj@webkit.org9c672f62008-09-19 04:15:14 +0000205042008-09-18 Collin Jackson <collinj@webkit.org>
20505
20506 Reviewed by Antti Koivisto and Mark Rowe.
20507
20508 Test: http/tests/misc/dns-prefetch-control.html
20509
20510 https://bugs.webkit.org/show_bug.cgi?id=20690
20511
20512 Invoke WebCore::prefetchDNS() on host names that appear in
20513 in the href of hyperlinks and <link rel="dns-prefetch">. This
20514 can be used to implement DNS prefetching.
20515
20516 * WebCore.vcproj/WebCore.vcproj:
20517 * WebCore.xcodeproj/project.pbxproj:
20518 * dom/Document.cpp:
20519 (WebCore::Document::Document):
20520 (WebCore::Document::processHttpEquiv):
20521 (WebCore::Document::setSecurityOrigin):
20522 (WebCore::Document::initDNSPrefetch):
20523 (WebCore::Document::parseDNSPrefetchControlHeader):
20524 * dom/Document.h:
20525 (WebCore::Document::isDNSPrefetchEnabled):
20526 * html/HTMLAnchorElement.cpp:
20527 (WebCore::HTMLAnchorElement::parseMappedAttribute):
20528 * html/HTMLLinkElement.cpp:
20529 (WebCore::HTMLLinkElement::HTMLLinkElement):
20530 (WebCore::HTMLLinkElement::parseMappedAttribute):
20531 (WebCore::HTMLLinkElement::tokenizeRelAttribute):
20532 (WebCore::HTMLLinkElement::process):
20533 * html/HTMLLinkElement.h:
20534 * html/PreloadScanner.cpp:
20535 (WebCore::PreloadScanner::processAttribute):
20536 * loader/FrameLoader.cpp:
20537 (WebCore::FrameLoader::begin):
20538 * platform/gtk/TemporaryLinkStubs.cpp:
20539 (WebCore::prefetchDNS):
20540 * platform/network/DNS.h: Added.
20541 * platform/network/cf/DNSCFNet.cpp: Added.
20542 (WebCore::prefetchDNS):
20543 * platform/qt/TemporaryLinkStubs.cpp:
20544 (WebCore::prefetchDNS):
20545 * platform/wx/TemporaryLinkStubs.cpp:
20546 (WebCore::prefetchDNS):
20547
hyatt@apple.comc5b931a2008-09-19 00:39:51 +0000205482008-09-18 David Hyatt <hyatt@apple.com>
20549
hyatt@apple.comcf31c162008-09-19 04:01:56 +000020550 Eliminate the convertToScreenCoordinate method on Widget, since
20551 ScrollView has redundant methods that already do the same thing.
20552
20553 Reviewed by Sam Weinig
20554
20555 * editing/mac/SelectionControllerMac.mm:
20556 (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
20557 * platform/Widget.h:
20558 * platform/mac/WidgetMac.mm:
20559 (WebCore::Widget::containingWindow):
20560
205612008-09-18 David Hyatt <hyatt@apple.com>
20562
hyatt@apple.com179629b3c2008-09-19 03:16:26 +000020563 Move to only one constructor for Widgets. Rename data to m_data and make
20564 it have an #ifdef only for platforms that have platform-specific data (Mac
20565 and Gtk).
20566
20567 Reviewed by Sam Weinig
20568
20569 * WebCore.base.exp:
20570 * platform/Widget.cpp:
20571 (WebCore::Widget::init):
20572 * platform/Widget.h:
20573 * platform/gtk/WidgetGtk.cpp:
20574 (WebCore::Widget::Widget):
20575 (WebCore::Widget::~Widget):
20576 (WebCore::Widget::cursor):
20577 (WebCore::Widget::setCursor):
20578 * platform/mac/WidgetMac.mm:
20579 (WebCore::Widget::Widget):
20580 (WebCore::Widget::~Widget):
20581 (WebCore::Widget::addToSuperview):
20582 (WebCore::Widget::removeFromSuperview):
20583 (WebCore::Widget::beforeMouseDown):
20584 (WebCore::Widget::afterMouseDown):
20585 * platform/qt/WidgetQt.cpp:
20586 (WebCore::Widget::Widget):
20587 * platform/win/WidgetWin.cpp:
20588 (WebCore::Widget::Widget):
20589 * platform/wx/WidgetWx.cpp:
20590 (WebCore::Widget::Widget):
20591
205922008-09-18 David Hyatt <hyatt@apple.com>
20593
hyatt@apple.com470d7e72008-09-19 03:01:08 +000020594 Move Qt's isNPAPIPlugin boolean from Widget down to PluginView, since there
20595 was no reason for it to be on Widget. This change eliminates Qt ifdefs
20596 from Widget.
20597
20598 Reviewed by Sam Weinig
20599
20600 * bindings/js/ScriptControllerQt.cpp:
20601 (WebCore::ScriptController::createScriptInstanceForWidget):
20602 * platform/qt/WidgetQt.cpp:
20603 (WebCore::WidgetPrivate::WidgetPrivate):
20604 (WebCore::WidgetPrivate::~WidgetPrivate):
20605 (WebCore::Widget::Widget):
20606 (WebCore::Widget::~Widget):
20607 * plugins/PluginView.cpp:
20608 (WebCore::PluginView::PluginView):
20609 * plugins/PluginView.h:
20610 (WebCore::PluginView::isNPAPIPlugin):
20611 (WebCore::PluginView::setIsNPAPIPlugin):
20612
206132008-09-18 David Hyatt <hyatt@apple.com>
20614
hyatt@apple.com557408b2008-09-19 02:36:08 +000020615 Make geometryChanged() cross-platform on Widget. GTK and WIN platform
20616 ifdefs are now gone from Widget!
20617
20618 Reviewed by Sam Weinig
20619
20620 * platform/Widget.h:
20621 (WebCore::Widget::geometryChanged):
20622 * platform/gtk/WidgetGtk.cpp:
20623 * platform/qt/WidgetQt.cpp:
20624
206252008-09-18 David Hyatt <hyatt@apple.com>
20626
hyatt@apple.com17e57432008-09-19 02:29:27 +000020627 Consolidate convertTo/FromContainingWindow methods so that all platforms
20628 but Mac share the same code.
20629
20630 Move convertSelfToChild and convertChildToSelf to ScrollView, since
20631 Widget should know nothing about children. Make the methods cross-platform
20632 on ScrollView.
20633
20634 Reviewed by Sam Weinig
20635
20636 * platform/ScrollView.h:
20637 (WebCore::ScrollView::convertChildToSelf):
20638 (WebCore::ScrollView::convertSelfToChild):
20639 * platform/Widget.cpp:
20640 (WebCore::Widget::convertToContainingWindow):
20641 (WebCore::Widget::convertFromContainingWindow):
20642 * platform/Widget.h:
20643 (WebCore::Widget::geometryChanged):
20644 * platform/gtk/ScrollViewGtk.cpp:
20645 (WebCore::ScrollView::isScrollViewScrollbar):
20646 * platform/gtk/WidgetGtk.cpp:
20647 * platform/mac/ScrollViewMac.mm:
20648 (WebCore::ScrollView::isScrollViewScrollbar):
20649 * platform/mac/WidgetMac.mm:
20650 * platform/qt/ScrollViewQt.cpp:
20651 (WebCore::ScrollView::isScrollViewScrollbar):
20652 * platform/qt/WidgetQt.cpp:
20653 * platform/win/ScrollViewWin.cpp:
20654 (WebCore::ScrollView::isScrollViewScrollbar):
20655 * platform/win/WidgetWin.cpp:
20656
206572008-09-18 David Hyatt <hyatt@apple.com>
20658
hyatt@apple.comc5b931a2008-09-19 00:39:51 +000020659 Make the conversion methods that go to and from some containingWindow
20660 cross-platform. Implement them on Mac.
20661
20662 Reviewed by Sam Weinig
20663
20664 * platform/Widget.h:
20665 (WebCore::Widget::setContainingWindow):
20666 * platform/mac/WidgetMac.mm:
20667 (WebCore::Widget::convertFromContainingWindow):
20668 (WebCore::Widget::convertToContainingWindow):
20669
weinig@apple.comd1ea02d2008-09-19 00:28:05 +0000206702008-09-18 Sam Weinig <sam@webkit.org>
20671
20672 Rubber-stamped by David "Yeah-yeah" Hyatt.
20673
20674 Cleanup RenderStyle.
20675
20676 * WebCore.xcodeproj/project.pbxproj:
20677 * rendering/style/CounterContent.h:
20678 * rendering/style/RenderStyle.cpp:
20679 * rendering/style/RenderStyle.h:
20680
dino@apple.comef93f532008-09-19 00:01:07 +0000206812008-09-18 Chris Marrin <cmarrin@apple.com>
20682
20683 Reviewed by Sam Weinig
20684
20685 Fixed https://bugs.webkit.org/show_bug.cgi?id=20908
20686 Now TransformOperations and AnimationList no longer
20687 inherit from Vector<> but rather have API to access.
20688
20689 * css/CSSComputedStyleDeclaration.cpp:
20690 (WebCore::computedTransform):
20691 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
20692 * css/CSSStyleSelector.cpp:
20693 (WebCore::CSSStyleSelector::createTransformOperations):
20694 * page/animation/AnimationBase.cpp:
20695 (WebCore::blendFunc):
20696 * page/animation/CompositeAnimation.cpp:
20697 (WebCore::CompositeAnimation::updateTransitions):
20698 (WebCore::CompositeAnimation::updateKeyframeAnimations):
20699 (WebCore::CompositeAnimation::animate):
20700 * page/animation/ImplicitAnimation.cpp:
20701 (WebCore::ImplicitAnimation::validateTransformFunctionList):
20702 * page/animation/KeyframeAnimation.cpp:
20703 (WebCore::KeyframeAnimation::validateTransformFunctionList):
20704 * rendering/RenderLayer.cpp:
20705 (WebCore::RenderLayer::updateReflectionStyle):
20706 * rendering/style/AnimationList.cpp:
20707 (WebCore::AnimationList::operator==):
20708 * rendering/style/AnimationList.h:
20709 (WebCore::AnimationList::operator!=):
20710 (WebCore::AnimationList::size):
20711 (WebCore::AnimationList::isEmpty):
20712 (WebCore::AnimationList::resize):
20713 (WebCore::AnimationList::remove):
20714 (WebCore::AnimationList::append):
20715 (WebCore::AnimationList::animation):
20716 * rendering/style/RenderStyle.cpp:
20717 (WebCore::StyleRareNonInheritedData::updateKeyframes):
20718 (WebCore::RenderStyle::applyTransform):
20719 (WebCore::RenderStyle::adjustAnimations):
20720 (WebCore::RenderStyle::adjustTransitions):
20721 (WebCore::RenderStyle::transitionForProperty):
20722 * rendering/style/RenderStyle.h:
20723 (WebCore::RenderStyle::hasTransform):
20724 * rendering/style/TransformOperations.cpp:
20725 (WebCore::TransformOperations::TransformOperations):
20726 (WebCore::TransformOperations::operator==):
20727 * rendering/style/TransformOperations.h:
20728 (WebCore::TransformOperations::apply):
20729 (WebCore::TransformOperations::operations):
20730
zecke@webkit.org20690ef2008-09-18 23:28:34 +0000207312008-09-18 Holger Hans Peter Freyther <zecke@selfish.org>
20732
zecke@webkit.org30db7422008-09-19 01:00:18 +000020733 Build fix.
20734
20735 [qt] Build fixes after the Widget/ScrollView cleanup
20736 topLevel() is now root()
20737
20738
20739 * platform/qt/ScrollViewQt.cpp:
20740 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore):
20741 (WebCore::ScrollView::addChild):
20742 (WebCore::ScrollView::removeChild):
20743
207442008-09-18 Holger Hans Peter Freyther <zecke@selfish.org>
20745
zecke@webkit.org20690ef2008-09-18 23:28:34 +000020746 Reviewed by Mark Rowe.
20747
20748 https://bugs.webkit.org/show_bug.cgi?id=20437
20749
20750 XMLTokenizer.cpp used to contain two different implementations. One was using
20751 libxml2 and the other was using the Qt XML StreamReader. Clean up the code by
20752 separating the two implementations from each other.
20753 Common code and some small bits are kept inside the XMLTokenizer.cpp, the Qt code
20754 was moved to XMLTokenizerQt.cpp and the Libxml2 based code was moved to
20755 XMLTokenizerLibxml2.cpp. There should be no functional changes.
20756
20757 Attempt to add XMLTokenizerLibxml2.cpp to every buildsystem so the build continues
20758 to work.
20759
20760 * GNUmakefile.am:
20761 * WebCore.pro:
20762 * WebCore.vcproj/WebCore.vcproj:
20763 * WebCore.xcodeproj/project.pbxproj:
20764 * WebCoreSources.bkl:
20765 * dom/XMLTokenizer.cpp:
20766 (WebCore::isScriptElement):
20767 (WebCore::castToScriptElement):
20768 (WebCore::XMLTokenizer::setCurrentNode):
20769 (WebCore::XMLTokenizer::write):
20770 (WebCore::XMLTokenizer::eventuallyMarkAsParserCreated):
20771 (WebCore::XMLTokenizer::enterText):
20772 (WebCore::toString):
20773 (WebCore::XMLTokenizer::exitText):
20774 (WebCore::XMLTokenizer::end):
20775 (WebCore::XMLTokenizer::insertErrorMessageBlock):
20776 * dom/XMLTokenizer.h:
20777 (WebCore::XMLTokenizer::wellFormed):
20778 * dom/XMLTokenizerLibxml2.cpp: Copied from WebCore/dom/XMLTokenizer.cpp.
20779 (WebCore::createMemoryParser):
20780 (WebCore::XMLTokenizer::XMLTokenizer):
20781 (WebCore::XMLTokenizer::~XMLTokenizer):
20782 (WebCore::XMLTokenizer::doWrite):
20783 (WebCore::ignorableWhitespaceHandler):
20784 (WebCore::XMLTokenizer::initializeParserContext):
20785 (WebCore::XMLTokenizer::doEnd):
20786 (WebCore::XMLTokenizer::lineNumber):
20787 (WebCore::XMLTokenizer::columnNumber):
20788 (WebCore::XMLTokenizer::stopParsing):
20789 (WebCore::XMLTokenizer::resumeParsing):
20790 (WebCore::parseXMLDocumentFragment):
20791 (WebCore::attributesStartElementNsHandler):
20792 (WebCore::parseAttributes):
20793 * dom/XMLTokenizerQt.cpp: Copied from WebCore/dom/XMLTokenizer.cpp.
20794 (WebCore::EntityResolver::resolveUndeclaredEntity):
20795 (WebCore::XMLTokenizer::XMLTokenizer):
20796 (WebCore::XMLTokenizer::~XMLTokenizer):
20797 (WebCore::XMLTokenizer::doWrite):
20798 (WebCore::XMLTokenizer::initializeParserContext):
20799 (WebCore::XMLTokenizer::doEnd):
20800 (WebCore::XMLTokenizer::lineNumber):
20801 (WebCore::XMLTokenizer::columnNumber):
20802 (WebCore::XMLTokenizer::stopParsing):
20803 (WebCore::XMLTokenizer::resumeParsing):
20804 (WebCore::parseXMLDocumentFragment):
20805 (WebCore::attributesStartElementNsHandler):
20806 (WebCore::parseAttributes):
20807 (WebCore::):
20808
bdakin@apple.com4c244902008-09-18 23:08:35 +0000208092008-09-18 Beth Dakin <bdakin@apple.com>
20810
20811 Reviewed by Geoff Garen.
20812
20813 Build fix for non-Mac builds.
20814
20815 * css/CSSPrimitiveValue.cpp:
20816 (WebCore::CSSPrimitiveValue::cssText):
20817
eric@webkit.org4ac94e62008-09-18 23:07:55 +0000208182008-09-18 Peter Kasting <pkasting@google.com>
20819
20820 Reviewed by hyatt. Landed by eseidel.
20821
20822 https://bugs.webkit.org/show_bug.cgi?id=20745
20823 Animated GIFs do not animate properly with (at least) CG.
20824
20825 * WebCore\platform\graphics\BitmapImage.cpp:
20826 * WebCore\platform\graphics\BitmapImage.h:
20827 * WebCore\platform\graphics\cairo\ImageCairo.cpp:
20828 * WebCore\platform\graphics\cg\ImageCG.cpp:
20829 * WebCore\platform\graphics\qt\ImageQt.cpp:
20830 * WebCore\platform\graphics\wx\ImageWx.cpp:
20831
cfleizach@apple.com2a72d8f2008-09-18 22:54:37 +0000208322008-09-18 Chris Fleizach <cfleizach@apple.com>
20833
20834 Reviewed by Beth Dakin
20835
20836 <rdar://problem/6224222> AX: should not expose a <table> as an AXTable if ARIA
20837 role specifies otherwise
20838
20839 If a <table> isn't an AXTable, the rows and cells should default to AccessibilityRenderObject
20840
20841 Test: accessibility/table-with-aria-role.html
20842
20843 * page/AccessibilityTable.cpp:
20844 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
20845 (WebCore::AccessibilityTable::addChildren):
20846 (WebCore::AccessibilityTable::roleValue):
20847 (WebCore::AccessibilityTable::accessibilityIsIgnored):
20848 (WebCore::AccessibilityTable::title):
20849 * page/AccessibilityTableCell.cpp:
20850 (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
20851 (WebCore::AccessibilityTableCell::isTableCell):
20852 (WebCore::AccessibilityTableCell::roleValue):
20853 * page/AccessibilityTableCell.h:
20854 * page/AccessibilityTableRow.cpp:
20855 (WebCore::AccessibilityTableRow::roleValue):
20856 (WebCore::AccessibilityTableRow::isTableRow):
20857 (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
20858 * page/AccessibilityTableRow.h:
20859
sfalken@apple.coma96c5d32008-09-18 22:29:34 +0000208602008-09-18 Steve Falkenburg <sfalken@apple.com>
20861
20862 Use higher-resolution timers on all variants of Windows.
20863
20864 Reviewed by Darin Adler.
20865
20866 * platform/win/SharedTimerWin.cpp:
20867 (WebCore::setSharedTimerFireTime):
20868
20869
hyatt@apple.comb7d49b62008-09-18 22:21:25 +0000208702008-09-18 David Hyatt <hyatt@apple.com>
20871
20872 Make containingWindow() and setContainingWindow() cross-platform.
20873 Add a root() function cross-platform so Qt doesn't have to
20874 define its own.
20875
20876 Reviewed by Darin Adler
20877
20878 * platform/Widget.cpp:
20879 (WebCore::Widget::root):
20880 * platform/Widget.h:
20881 (WebCore::Widget::setContainingWindow):
20882 * platform/gtk/WidgetGtk.cpp:
20883 (WebCore::Widget::Widget):
20884 (WebCore::Widget::containingWindow):
20885 * platform/mac/ScrollViewMac.mm:
20886 (WebCore::ScrollView::addChild):
20887 (WebCore::ScrollView::removeChild):
20888 * platform/mac/WidgetMac.mm:
20889 (WebCore::Widget::containingWindow):
20890 * platform/qt/WidgetQt.cpp:
20891 (WebCore::Widget::invalidateRect):
20892 (WebCore::Widget::containingWindow):
20893 * platform/win/WidgetWin.cpp:
20894 (WebCore::Widget::Widget):
20895 (WebCore::Widget::~Widget):
20896 (WebCore::Widget::containingWindow):
20897
bdakin@apple.comfa1ce162008-09-18 22:18:01 +0000208982008-09-18 Beth Dakin <bdakin@apple.com>
20899
20900 Reviewed by Dave Hyatt.
20901
20902 Fix for https://bugs.webkit.org/show_bug.cgi?id=20515 Crash upon
20903 parsing CSS: unicode-range: searchfield-cancel-buttonpt=-webkit-
20904 dashboard-region=
20905 and corresponding: <rdar://problem/6174100>
20906
20907 This patch makes CSSParserValue::createCSSValue handle unknown
20908 identifiers.
20909
20910 * css/CSSParserValues.cpp:
20911 (WebCore::CSSParserValue::createCSSValue): If we have an identifier
20912 with no id (an unknown identifier) create a CSSPrimitiveValue of
20913 type CSS_PARSER_IDENTIFIER
20914 * css/CSSPrimitiveValue.cpp:
20915 (WebCore::CSSPrimitiveValue::cssText):
20916 (WebCore::CSSPrimitiveValue::parserValue):
20917 * css/CSSPrimitiveValue.h:
20918 (WebCore::CSSPrimitiveValue::):
20919
weinig@apple.comfce49be2008-09-18 21:46:14 +0000209202008-09-18 Sam Weinig <sam@webkit.org>
20921
20922 Rubber-stamped by David "I'd prefer not" Hyatt.
20923
20924 More the remaining class out of RenderStyle.h/cpp
20925
20926 * GNUmakefile.am:
20927 * WebCore.pro:
20928 * WebCore.vcproj/WebCore.vcproj:
20929 * WebCore.xcodeproj/project.pbxproj:
20930 * WebCoreSources.bkl:
20931 * rendering/style/CursorData.h: Copied from rendering/style/RenderStyle.h.
20932 (WebCore::CursorData::CursorData):
20933 (WebCore::CursorData::operator==):
20934 (WebCore::CursorData::operator!=):
20935 * rendering/style/CursorList.h: Copied from rendering/style/RenderStyle.h.
20936 (WebCore::CursorList::operator[]):
20937 (WebCore::CursorList::CursorList):
20938 * rendering/style/RenderStyle.cpp:
20939 * rendering/style/RenderStyle.h:
20940 (WebCore::RenderStyle::deref):
20941 (WebCore::RenderStyle::hasOneRef):
20942 (WebCore::RenderStyle::InheritedFlags::operator!=):
20943 (WebCore::RenderStyle::NonInheritedFlags::operator!=):
20944 (WebCore::RenderStyle::hasBackground):
20945 (WebCore::RenderStyle::outlineWidth):
20946 (WebCore::RenderStyle::autoWrap):
20947 (WebCore::RenderStyle::preserveNewline):
20948 (WebCore::RenderStyle::collapseWhiteSpace):
20949 (WebCore::RenderStyle::isCollapsibleWhiteSpace):
20950 (WebCore::RenderStyle::breakOnlyAfterWhiteSpace):
20951 (WebCore::RenderStyle::breakWords):
20952 (WebCore::RenderStyle::outlineOffset):
20953 (WebCore::RenderStyle::setLeft):
20954 (WebCore::RenderStyle::setRight):
20955 (WebCore::RenderStyle::setTop):
20956 (WebCore::RenderStyle::setBottom):
20957 (WebCore::RenderStyle::setDashboardRegion):
20958 (WebCore::RenderStyle::setBackgroundColor):
20959 (WebCore::RenderStyle::setBorderImage):
20960 (WebCore::RenderStyle::setBorderRadius):
20961 (WebCore::RenderStyle::setFontDescription):
20962 (WebCore::RenderStyle::adjustBackgroundLayers):
20963 (WebCore::RenderStyle::adjustMaskLayers):
20964 (WebCore::RenderStyle::deleteBindingURIs):
20965 (WebCore::RenderStyle::inheritBindingURIs):
20966 (WebCore::RenderStyle::isDisplayReplacedType):
20967 (WebCore::RenderStyle::isDisplayInlineType):
20968 (WebCore::RenderStyle::isOriginalDisplayInlineType):
20969 * rendering/style/StyleInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
20970 * rendering/style/StyleInheritedData.h: Copied from rendering/style/RenderStyle.h.
20971 (WebCore::StyleInheritedData::operator!=):
20972 * rendering/style/StyleRareInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
20973 * rendering/style/StyleRareInheritedData.h: Copied from rendering/style/RenderStyle.h.
20974 (WebCore::StyleRareInheritedData::operator!=):
20975 * rendering/style/StyleRareNonInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
20976 * rendering/style/StyleRareNonInheritedData.h: Copied from rendering/style/RenderStyle.h.
20977 * rendering/style/StyleReflection.h: Copied from rendering/style/RenderStyle.h.
20978
hyatt@apple.com643534d2008-09-18 20:09:41 +0000209792008-09-18 David Hyatt <hyatt@apple.com>
20980
hyatt@apple.comd23089a2008-09-18 20:24:16 +000020981 Move the concept of suppression invalidation on Widgets to Scrollbar
20982 instead. Since this is only used by Scrollbars, there is no need for
20983 it to be on Widget.
20984
20985 Reviewed by Sam Weinig
20986
20987 * platform/Scrollbar.cpp:
20988 (WebCore::Scrollbar::Scrollbar):
20989 (WebCore::Scrollbar::invalidateRect):
20990 * platform/Scrollbar.h:
20991 (WebCore::Scrollbar::suppressInvalidation):
20992 (WebCore::Scrollbar::setSuppressInvalidation):
20993 * platform/Widget.h:
20994 * platform/gtk/WidgetGtk.cpp:
20995 (WebCore::Widget::Widget):
20996 (WebCore::Widget::invalidateRect):
20997 * platform/qt/WidgetQt.cpp:
20998 (WebCore::WidgetPrivate::WidgetPrivate):
20999 (WebCore::Widget::invalidateRect):
21000 * platform/win/WidgetWin.cpp:
21001 (WebCore::Widget::Widget):
21002 (WebCore::Widget::invalidateRect):
21003
210042008-09-18 David Hyatt <hyatt@apple.com>
21005
hyatt@apple.com643534d2008-09-18 20:09:41 +000021006 Make invalidate() on Widget non-virtual and make it just call
21007 invalidateRect() on the boundsGeometry() of the Widget.
21008
21009 Reviewed by Dan Bernstein
21010
21011 * platform/Widget.h:
21012 (WebCore::Widget::boundsGeometry):
21013 (WebCore::Widget::invalidate):
21014 * platform/gtk/WidgetGtk.cpp:
21015 * platform/mac/WidgetMac.mm:
21016 * platform/qt/WidgetQt.cpp:
21017 * platform/win/WidgetWin.cpp:
21018 * platform/wx/WidgetWx.cpp:
21019
weinig@apple.comcaf2df42008-09-18 19:40:24 +0000210202008-09-18 Sam Weinig <sam@webkit.org>
21021
21022 Rubber-stamped in exile by David Hyatt.
21023
21024 Split Animation, AnimationList, BindingURI, ContentData, CounterContent,
21025 KeyframeList, ShadowData, StyleFlexibleBoxData and TimingFunction out of
21026 RenderStyle.h/cpp
21027
21028 * GNUmakefile.am:
21029 * WebCore.pro:
21030 * WebCore.vcproj/WebCore.vcproj:
21031 * WebCore.xcodeproj/project.pbxproj:
21032 * WebCoreSources.bkl:
21033 * css/CSSStyleSelector.cpp:
21034 * css/CSSStyleSelector.h:
21035 * page/animation/CompositeAnimation.cpp:
21036 * page/animation/KeyframeAnimation.cpp:
21037 * page/animation/KeyframeAnimation.h:
21038 * rendering/RenderCounter.h:
21039 * rendering/style/Animation.cpp: Copied from rendering/style/RenderStyle.cpp.
21040 (WebCore::Animation::~Animation):
21041 (WebCore::Animation::animationsMatch):
21042 (WebCore::Animation::keyframeList):
21043 (WebCore::Animation::setAnimationKeyframe):
21044 * rendering/style/Animation.h: Copied from rendering/style/RenderStyle.h.
21045 * rendering/style/AnimationList.cpp: Copied from rendering/style/RenderStyle.cpp.
21046 * rendering/style/AnimationList.h: Copied from rendering/style/RenderStyle.h.
21047 * rendering/style/BindingURI.cpp: Copied from rendering/style/RenderStyle.cpp.
21048 * rendering/style/BindingURI.h: Copied from rendering/style/RenderStyle.h.
21049 (WebCore::BindingURI::operator!=):
21050 * rendering/style/ContentData.cpp: Copied from rendering/style/RenderStyle.cpp.
21051 * rendering/style/ContentData.h: Copied from rendering/style/RenderStyle.h.
21052 (WebCore::ContentData::ContentData):
21053 (WebCore::ContentData::~ContentData):
21054 * rendering/style/CounterContent.h: Copied from rendering/style/RenderStyle.h.
21055 (WebCore::CounterContent::CounterContent):
21056 * rendering/style/CounterDirectives.cpp: Copied from rendering/style/RenderStyle.cpp.
21057 * rendering/style/CounterDirectives.h: Copied from rendering/style/RenderStyle.h.
21058 (WebCore::CounterDirectives::CounterDirectives):
21059 * rendering/style/KeyframeList.cpp: Copied from rendering/style/RenderStyle.cpp.
21060 (WebCore::KeyframeList::insert):
21061 * rendering/style/KeyframeList.h: Copied from rendering/style/RenderStyle.h.
21062 (WebCore::KeyframeValue::KeyframeValue):
21063 (WebCore::KeyframeList::create):
21064 (WebCore::KeyframeList::KeyframeList):
21065 * rendering/style/RenderStyle.cpp:
21066 * rendering/style/RenderStyle.h:
21067 * rendering/style/ShadowData.cpp: Copied from rendering/style/RenderStyle.cpp.
21068 * rendering/style/ShadowData.h: Copied from rendering/style/RenderStyle.h.
21069 (WebCore::ShadowData::ShadowData):
21070 (WebCore::ShadowData::~ShadowData):
21071 (WebCore::ShadowData::operator!=):
21072 * rendering/style/StyleFlexibleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp.
21073 * rendering/style/StyleFlexibleBoxData.h: Copied from rendering/style/RenderStyle.h.
21074 (WebCore::StyleFlexibleBoxData::operator!=):
21075 * rendering/style/TimingFunction.h: Copied from rendering/style/RenderStyle.h.
21076 (WebCore::TimingFunction::TimingFunction):
21077 (WebCore::TimingFunction::operator==):
21078
adele@apple.com5b2b5da2008-09-18 18:49:44 +0000210792008-09-18 Adele Peterson <adele@apple.com>
21080
21081 Reviewed by Dan Bernstein.
21082
21083 Fix RenderStyle leaks.
21084
21085 * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::createSubtreeIfNeeded):
21086
kmccullough@apple.comd4089752008-09-18 17:21:49 +0000210872008-09-18 Kevin McCullough <kmccullough@apple.com>
21088
kmccullough@apple.com76c708f2008-09-18 18:03:23 +000021089 Accidentally checked in code.
21090
21091 * html/HTMLElementFactory.cpp:
21092 (WebCore::frameConstructor):
21093 (WebCore::iframeConstructor):
21094
210952008-09-18 Kevin McCullough <kmccullough@apple.com>
21096
kmccullough@apple.comd4089752008-09-18 17:21:49 +000021097 Reviewed by Tim.
21098
21099 <rdar://problem/5722310> gracefully handle too many console messages
21100 (20904)
21101 - Keep track of the most previous message and then compare it to the
21102 subsequent messages as they come in. If there are multiple of the same
21103 message create a count that indicates the current number.
21104
21105 * manual-tests/inspector/multiple-console-messages.html: Added.
21106 * page/inspector/Console.js:
21107 * page/inspector/inspector.css:
21108
alp@webkit.org18a1fbc2008-09-18 11:50:26 +0000211092008-09-18 Jonathon Jongsma <jonathon@quotidian.org>
21110
21111 Reviewed by Alp Toker
21112
21113 https://bugs.webkit.org/show_bug.cgi?id=20830
21114 [GTK] Don't use deprecated pango API
21115
21116 Replace deprecated pango functions with non-deprecated ones for newer
21117 versions of pango
21118
21119 * platform/graphics/gtk/FontGtk.cpp:
21120 (WebCore::getDefaultPangoLayout):
21121 * platform/graphics/gtk/FontPlatformDataPango.cpp:
21122 (WebCore::FontPlatformData::FontPlatformData):
21123
alp@webkit.org2154ef22008-09-18 08:10:49 +0000211242008-09-18 Alp Toker <alp@nuanti.com>
21125
21126 Build fix for r36587. Add new sources (and sort the lists).
21127
21128 * GNUmakefile.am:
21129
weinig@apple.com3a98b2a2008-09-18 05:51:35 +0000211302008-09-17 Sam Weinig <sam@webkit.org>
21131
21132 Fix Windows build.
21133
21134 * WebCore.vcproj/WebCore.vcproj:
21135
hyatt@apple.comb3699722008-09-18 05:10:03 +0000211362008-09-17 David Hyatt <hyatt@apple.com>
21137
21138 Switch back to having frameGeometry be virtual in order to keep Mac
21139 the way it used to be.
21140
21141 Reviewed by Sam Weinig
21142
21143 * WebCore.base.exp:
21144 * platform/Widget.cpp:
21145 (WebCore::Widget::setParent):
21146 * platform/Widget.h:
21147 * platform/gtk/WidgetGtk.cpp:
21148 (WebCore::Widget::frameGeometry):
21149 (WebCore::Widget::setFrameGeometry):
21150 * platform/mac/WidgetMac.mm:
21151 (WebCore::Widget::frameGeometry):
21152 (WebCore::Widget::setFrameGeometry):
21153 * platform/qt/WidgetQt.cpp:
21154 (WebCore::Widget::frameGeometry):
21155 (WebCore::Widget::setFrameGeometry):
21156 * platform/win/WidgetWin.cpp:
21157 (WebCore::Widget::frameGeometry):
21158 (WebCore::Widget::setFrameGeometry):
21159 * platform/wx/WidgetWx.cpp:
21160 (WebCore::Widget::frameGeometry):
21161 (WebCore::Widget::setFrameGeometry):
21162 * plugins/PluginView.cpp:
21163 (WebCore::PluginView::setFrameGeometry):
21164 (WebCore::PluginView::geometryChanged):
21165 * plugins/PluginView.h:
21166 * plugins/gtk/PluginViewGtk.cpp:
21167 (WebCore::PluginView::updatePluginWidget):
21168 * plugins/qt/PluginViewQt.cpp:
21169 (WebCore::PluginView::updatePluginWidget):
21170 * plugins/win/PluginViewWin.cpp:
21171 (WebCore::PluginView::updatePluginWidget):
21172
weinig@apple.com00f4d5c2008-09-18 03:23:08 +0000211732008-09-17 Sam Weinig <sam@webkit.org>
21174
weinig@apple.com4fd54cd2008-09-18 05:03:21 +000021175 Reviewed by Mark Rowe.
21176
21177 Fix assertion in DOMWindow::adjustWindowRect where we were passing
21178 in garbage values and were getting lucky that they were a not Nan.
21179
21180 * bindings/js/JSDOMWindowBase.cpp:
21181 (WebCore::windowProtoFuncOpen):
21182
211832008-09-17 Sam Weinig <sam@webkit.org>
21184
weinig@apple.com95b14762008-09-18 04:28:40 +000021185 Fix gtk build.
21186
21187 * rendering/style/MatrixTransformOperation.cpp:
21188
211892008-09-17 Sam Weinig <sam@webkit.org>
21190
weinig@apple.com00f4d5c2008-09-18 03:23:08 +000021191 Rubber-stamped with love by David Hyatt.
21192
21193 Split IdentityTransformOperation, MatrixTransformOperation, RotateTransformOperation,
21194 ScaleTransformOperation, SkewTransformOperation, StyleTransformData, TransformOperation,
21195 TransformOperations and TranslateTransformOperation out of RenderStyle.h/cpp
21196
21197 * GNUmakefile.am:
21198 * WebCore.pro:
21199 * WebCore.vcproj/WebCore.vcproj:
21200 * WebCore.xcodeproj/project.pbxproj:
21201 * WebCoreSources.bkl:
21202 * css/CSSStyleSelector.cpp:
21203 * page/animation/AnimationBase.cpp:
21204 (WebCore::solveEpsilon):
21205 * rendering/RenderLayer.cpp:
21206 * rendering/style/IdentityTransformOperation.h: Copied from rendering/style/RenderStyle.h.
21207 * rendering/style/MatrixTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
21208 * rendering/style/MatrixTransformOperation.h: Copied from rendering/style/RenderStyle.h.
21209 (WebCore::MatrixTransformOperation::MatrixTransformOperation):
21210 * rendering/style/RenderStyle.cpp:
21211 * rendering/style/RenderStyle.h:
21212 * rendering/style/RotateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
21213 * rendering/style/RotateTransformOperation.h: Copied from rendering/style/RenderStyle.h.
21214 (WebCore::RotateTransformOperation::RotateTransformOperation):
21215 * rendering/style/ScaleTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
21216 * rendering/style/ScaleTransformOperation.h: Copied from rendering/style/RenderStyle.h.
21217 (WebCore::ScaleTransformOperation::ScaleTransformOperation):
21218 * rendering/style/SkewTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
21219 * rendering/style/SkewTransformOperation.h: Copied from rendering/style/RenderStyle.h.
21220 (WebCore::SkewTransformOperation::SkewTransformOperation):
21221 * rendering/style/StyleTransformData.cpp: Copied from rendering/style/RenderStyle.cpp.
21222 * rendering/style/StyleTransformData.h: Copied from rendering/style/RenderStyle.h.
21223 (WebCore::StyleTransformData::operator!=):
21224 * rendering/style/TransformOperation.h: Copied from rendering/style/RenderStyle.h.
21225 (WebCore::TransformOperation::):
21226 * rendering/style/TransformOperations.cpp: Copied from rendering/style/RenderStyle.cpp.
21227 (WebCore::TransformOperations::TransformOperations):
21228 * rendering/style/TransformOperations.h: Copied from rendering/style/RenderStyle.h.
21229 (WebCore::TransformOperations::operator!=):
21230 * rendering/style/TranslateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp.
21231 * rendering/style/TranslateTransformOperation.h: Copied from rendering/style/RenderStyle.h.
21232 (WebCore::TranslateTransformOperation::TranslateTransformOperation):
21233
mrowe@apple.comdbfa8852008-09-18 02:59:20 +0000212342008-09-17 Mark Rowe <mrowe@apple.com>
21235
21236 Build fix.
21237
21238 * rendering/style/StyleDashboardRegion.h: PlatformString.h rather than String.h.
21239
hyatt@apple.com76057b42008-09-18 02:48:46 +0000212402008-09-17 David Hyatt <hyatt@apple.com>
21241
21242 (1) Inline a bunch of methods for accessing frame geometry.
21243 (2) Make sure frameGeometry() works even when you have no underlying
21244 native widget.
21245 (3) Cache a frame geometry rect cross-platform (even for widgets that
21246 have underlying native widgets.
21247 (4) PluginView's updateWindow call is now a virtual function on Widget.
21248
21249 Reviewed by Sam Weinig
21250
21251 * ChangeLog:
21252 * WebCore.base.exp:
21253 * platform/Widget.cpp:
21254 (WebCore::Widget::setFrameGeometry):
21255 * platform/Widget.h:
21256 (WebCore::Widget::x):
21257 (WebCore::Widget::y):
21258 (WebCore::Widget::width):
21259 (WebCore::Widget::height):
21260 (WebCore::Widget::size):
21261 (WebCore::Widget::pos):
21262 (WebCore::Widget::frameGeometry):
21263 (WebCore::Widget::resize):
21264 (WebCore::Widget::move):
21265 (WebCore::Widget::isFrameView):
21266 (WebCore::Widget::windowClipRect):
21267 * platform/mac/WidgetMac.mm:
21268 (WebCore::Widget::~Widget):
21269 (WebCore::Widget::updatePlatformWidgetFrameGeometry):
21270 * platform/win/WidgetWin.cpp:
21271 (WebCore::Widget::updatePlatformWidgetFrameGeometry):
21272 * plugins/PluginView.cpp:
21273 (WebCore::PluginView::setFrameGeometry):
21274 (WebCore::PluginView::geometryChanged):
21275 * plugins/PluginView.h:
21276 * plugins/gtk/PluginViewGtk.cpp:
21277 (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
21278 * plugins/qt/PluginViewQt.cpp:
21279 (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
21280 * plugins/win/PluginViewWin.cpp:
21281 (WebCore::PluginView::updatePlatformWidgetFrameGeometry):
21282 * plugins/wx/PluginViewWx.cpp:
21283
weinig@apple.coma812a3ce2008-09-18 01:46:26 +0000212842008-09-17 Sam Weinig <sam@webkit.org>
21285
weinig@apple.comb4b66742008-09-18 02:47:55 +000021286 Reviewed by David "Waterman" Hyatt.
21287
21288 Fix a leak of NSViews in WidgetMac.mm.
21289
21290 * platform/mac/WidgetMac.mm:
21291 (WebCore::Widget::~Widget):
21292
212932008-09-17 Sam Weinig <sam@webkit.org>
21294
weinig@apple.coma812a3ce2008-09-18 01:46:26 +000021295 Rubber-stamped by David Waterman Hyatt.
21296
21297 Split FillLayer, StyleBackgroundData, StyleBoxData, StyleDashboardRegion, StyleMarqueeData
21298 StyleMultiColData and StyleVisualData out of RenderStyle.h/cpp
21299
21300 * GNUmakefile.am:
21301 * WebCore.pro:
21302 * WebCore.vcproj/WebCore.vcproj:
21303 * WebCore.xcodeproj/project.pbxproj:
21304 * WebCoreSources.bkl:
21305 * rendering/style/FillLayer.cpp: Copied from rendering/style/RenderStyle.cpp.
21306 * rendering/style/FillLayer.h: Copied from rendering/style/RenderStyle.h.
21307 (WebCore::FillLayer::operator!=):
21308 (WebCore::FillLayer::hasImage):
21309 (WebCore::FillLayer::hasFixedImage):
21310 * rendering/style/RenderStyle.cpp:
21311 * rendering/style/RenderStyle.h:
21312 * rendering/style/StyleBackgroundData.cpp: Copied from rendering/style/RenderStyle.cpp.
21313 (WebCore::StyleBackgroundData::StyleBackgroundData):
21314 * rendering/style/StyleBackgroundData.h: Copied from rendering/style/RenderStyle.h.
21315 (WebCore::StyleBackgroundData::~StyleBackgroundData):
21316 (WebCore::StyleBackgroundData::operator!=):
21317 * rendering/style/StyleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp.
21318 * rendering/style/StyleBoxData.h: Copied from rendering/style/RenderStyle.h.
21319 (WebCore::StyleBoxData::operator!=):
21320 * rendering/style/StyleDashboardRegion.h: Copied from rendering/style/RenderStyle.h.
21321 (WebCore::StyleDashboardRegion::operator!=):
21322 * rendering/style/StyleMarqueeData.cpp: Copied from rendering/style/RenderStyle.cpp.
21323 * rendering/style/StyleMarqueeData.h: Copied from rendering/style/RenderStyle.h.
21324 (WebCore::StyleMarqueeData::operator!=):
21325 * rendering/style/StyleMultiColData.cpp: Copied from rendering/style/RenderStyle.cpp.
21326 * rendering/style/StyleMultiColData.h: Copied from rendering/style/RenderStyle.h.
21327 (WebCore::StyleMultiColData::operator!=):
21328 (WebCore::StyleMultiColData::ruleWidth):
21329 * rendering/style/StyleVisualData.cpp: Copied from rendering/style/RenderStyle.cpp.
21330 * rendering/style/StyleVisualData.h: Copied from rendering/style/RenderStyle.h.
21331 (WebCore::StyleVisualData::operator==):
21332
hyatt@apple.comb4f28b32008-09-18 00:39:36 +0000213332008-09-17 David Hyatt <hyatt@apple.com>
21334
hyatt@apple.com3f19eac2008-09-18 00:56:04 +000021335 Remove WidgetClient from Widget.
21336
21337 Reviewed by Sam Weinig
21338
21339 * WebCore.xcodeproj/project.pbxproj:
21340 * platform/Widget.h:
21341 (WebCore::Widget::setClient):
21342 (WebCore::Widget::client):
21343 * platform/WidgetClient.h: Removed.
21344 * platform/gtk/WidgetGtk.cpp:
21345 * platform/mac/WidgetMac.mm:
21346 (WebCore::Widget::Widget):
21347 (WebCore::Widget::show):
21348 (WebCore::Widget::hide):
21349 * platform/qt/WidgetQt.cpp:
21350 (WebCore::WidgetPrivate::WidgetPrivate):
21351 * platform/win/WidgetWin.cpp:
21352 (WebCore::Widget::Widget):
21353 * platform/wx/WidgetWx.cpp:
21354 (WebCore::Widget::Widget):
21355
213562008-09-17 David Hyatt <hyatt@apple.com>
21357
hyatt@apple.comb4f28b32008-09-18 00:39:36 +000021358 Remove isEnabled/setEnabled from Widget. The concept of being enabled now
21359 only applies to Scrollbars so the method has been moved there and made
21360 cross-platform. Scrollbar subclasses that have a corresponding native
21361 widget can subclass setEnabled to change the enabled state of the native
21362 widget.
21363
21364 Reviewed by Sam Weinig & Darin Adler
21365
21366 * WebCore.base.exp:
21367 * platform/Scrollbar.cpp:
21368 (WebCore::Scrollbar::Scrollbar):
21369 * platform/Scrollbar.h:
21370 (WebCore::Scrollbar::enabled):
21371 (WebCore::Scrollbar::setEnabled):
21372 * platform/Widget.h:
21373 * platform/gtk/ScrollbarGtk.cpp:
21374 (ScrollbarGtk::setEnabled):
21375 * platform/gtk/ScrollbarGtk.h:
21376 * platform/gtk/WidgetGtk.cpp:
21377 * platform/mac/ScrollbarMac.h:
21378 * platform/mac/ScrollbarMac.mm:
21379 (WebCore::ScrollbarMac::scrollbarHit):
21380 (WebCore::ScrollbarMac::setEnabled):
21381 * platform/mac/WidgetMac.mm:
21382 * platform/qt/WidgetQt.cpp:
21383 (WebCore::WidgetPrivate::WidgetPrivate):
21384 * platform/win/WidgetWin.cpp:
21385 (WebCore::Widget::Widget):
21386 * platform/wx/WidgetWx.cpp:
21387
weinig@apple.com1ea40602008-09-17 23:56:27 +0000213882008-09-17 Sam Weinig <sam@webkit.org>
21389
21390 Rubber-stamped by David Hyatt.
21391
21392 Split all RenderStyle enums into their own file.
21393
21394 * GNUmakefile.am:
21395 * WebCore.vcproj/WebCore.vcproj:
21396 * WebCore.xcodeproj/project.pbxproj:
21397 * rendering/style/BorderValue.h:
21398 * rendering/style/CollapsedBorderValue.h:
21399 * rendering/style/RenderStyle.h:
21400 * rendering/style/RenderStyleConstants.h: Copied from rendering/style/RenderStyle.h.
21401 (WebCore::):
21402 * rendering/style/StyleCachedImage.h:
21403 * rendering/style/StyleGeneratedImage.h:
21404 * rendering/style/StyleImage.h:
21405
sfalken@apple.combf270912008-09-17 23:53:17 +0000214062008-09-17 Steve Falkenburg <sfalken@apple.com>
21407
21408 Add back isFrameView check to fix failed assertion during scroll bar teardown.
21409
21410 Reviewed by Dave Hyatt.
21411
21412 * platform/Scrollbar.cpp:
21413 (WebCore::Scrollbar::setParent):
21414
beidson@apple.com4398e482008-09-17 23:30:00 +0000214152008-09-17 Brady Eidson <beidson@apple.com>
21416
21417 Reviewed by Mac build fix
21418
21419 * WebCore.xcodeproj/project.pbxproj: Send appropriate headers to WebKit
21420
sfalken@apple.com85cc1392008-09-17 23:28:13 +0000214212008-09-17 Steve Falkenburg <sfalken@apple.com>
21422
21423 Fix build.
21424
21425 * platform/win/ScrollViewWin.cpp:
21426 (WebCore::ScrollView::setParentVisible):
21427 * plugins/win/PluginViewWin.cpp:
21428 (WebCore::PluginView::init):
21429
zecke@webkit.org2ba9a4e2008-09-17 23:25:10 +0000214302008-09-17 Holger Hans Peter Freyther <zecke@selfish.org>
21431
21432 Reviewed by Simon.
21433
21434 [QtWebKit] Implement error handling in TextCodecQt::decode
21435 Use the QTextCodec parsing state to set the sawError out variable. This
21436 is needed to pass Test 70 of acid3. The test case for this bug is
21437 fast/encoding/invalid-xml.html that is now partially passed. To pass
21438 it completely the Qt text codecs need to be adjusted to have proper
21439 error handling.
21440
21441 * platform/text/qt/TextCodecQt.cpp:
21442 (WebCore::TextCodecQt::decode):
21443
weinig@apple.comf6f0f112008-09-17 23:03:16 +0000214442008-09-17 Sam Weinig <sam@webkit.org>
21445
21446 Rubber-stamped by Dave Hyatt.
21447
21448 Split BorderData, BorderValue, CollapsedBorderValue, OutlineValue and StyleSurroundData
21449 out of RenderStyle.h/cpp
21450
21451 * GNUmakefile.am:
21452 * WebCore.pro:
21453 * WebCore.vcproj/WebCore.vcproj:
21454 * WebCore.xcodeproj/project.pbxproj:
21455 * WebCoreSources.bkl:
21456 * rendering/style/BorderData.h: Copied from rendering/style/RenderStyle.h.
21457 (WebCore::BorderData::hasBorderRadius):
21458 (WebCore::BorderData::borderLeftWidth):
21459 (WebCore::BorderData::borderRightWidth):
21460 (WebCore::BorderData::borderTopWidth):
21461 (WebCore::BorderData::borderBottomWidth):
21462 (WebCore::BorderData::operator!=):
21463 * rendering/style/BorderValue.h: Copied from rendering/style/RenderStyle.h.
21464 (WebCore::):
21465 (WebCore::BorderValue::BorderValue):
21466 (WebCore::BorderValue::nonZero):
21467 (WebCore::BorderValue::isTransparent):
21468 (WebCore::BorderValue::isVisible):
21469 * rendering/style/CollapsedBorderValue.h: Copied from rendering/style/RenderStyle.h.
21470 (WebCore::):
21471 (WebCore::CollapsedBorderValue::CollapsedBorderValue):
21472 (WebCore::CollapsedBorderValue::operator==):
21473 * rendering/style/OutlineValue.h: Copied from rendering/style/RenderStyle.h.
21474 (WebCore::OutlineValue::OutlineValue):
21475 * rendering/style/RenderStyle.cpp:
21476 * rendering/style/RenderStyle.h:
21477 * rendering/style/StyleSurroundData.cpp: Copied from rendering/style/RenderStyle.cpp.
21478 * rendering/style/StyleSurroundData.h: Copied from rendering/style/RenderStyle.h.
21479 (WebCore::StyleSurroundData::operator!=):
21480
bdakin@apple.com06b97182008-09-17 23:00:29 +0000214812008-09-17 Beth Dakin <bdakin@apple.com>
21482
21483 Reviewed by Darin Adler.
21484
21485 This is a better fix for: Invalid CSS code crashes Safari
21486 https://bugs.webkit.org/show_bug.cgi?id=20512
21487
21488 The spec indicates that the only valid input for a counter is a
21489 number or an identifier. So that is exactly what we allow.
21490
21491 * css/CSSParser.cpp:
21492 (WebCore::CSSParser::parseCounterContent):
21493
alp@webkit.org97ba9222008-09-17 22:16:26 +0000214942008-09-17 Alp Toker <alp@nuanti.com>
21495
21496 GTK+ build fix. Adapt to use PlatformWidget functions.
21497
21498 * platform/gtk/ScrollViewGtk.cpp:
21499 (WebCore::ScrollViewScrollbar::geometryChanged):
21500 (WebCore::ScrollView::addChild):
21501 (WebCore::ScrollView::removeChild):
21502 * platform/gtk/ScrollbarGtk.cpp:
21503 (ScrollbarGtk::ScrollbarGtk):
21504 (ScrollbarGtk::~ScrollbarGtk):
21505 (ScrollbarGtk::geometryChanged):
21506
weinig@apple.com930ed392008-09-17 22:00:45 +0000215072008-09-17 Sam Weinig <sam@webkit.org>
21508
21509 Reviewed by Adele Peterson.
21510
21511 Patch for <rdar://problem/6133884>
21512 Calling window.resizeTo() on a subframe shouldn't change the window size
21513
21514 Test: fast/dom/Window/window-resize-and-move-sub-frame.html
21515
21516 * page/DOMWindow.cpp:
21517 (WebCore::DOMWindow::moveBy):
21518 (WebCore::DOMWindow::moveTo):
21519 (WebCore::DOMWindow::resizeBy):
21520 (WebCore::DOMWindow::resizeTo):
21521
bdakin@apple.com8f952d82008-09-17 21:35:02 +0000215222008-09-17 Beth Dakin <bdakin@apple.com>
21523
21524 Reviewed by Adam Roben.
21525
21526 Fix for https://bugs.webkit.org/show_bug.cgi?id=20512 Invalid CSS
21527 code crashes Safari
21528 and corresponding: <rdar://problem/6173832>
21529
21530 Reading through the spec, it seems like a function is not valid
21531 input for a counter. So this patch checks for that and bails in the
21532 case of invalid input.
21533
21534 * css/CSSParser.cpp:
21535 (WebCore::CSSParser::parseCounterContent):
21536
antti@apple.comb37d4052008-09-17 21:14:13 +0000215372008-09-17 Greg Bolsinga <bolsinga@apple.com>
21538
21539 Reviewed by Antti Koivisto.
21540
21541 Fix <rdar://problem/6227089>
21542 Crash in WebCore::Frame::setNeedsReapplyStyles()
21543
21544 View is null checked elsewhere too.
21545
21546 * page/Frame.cpp:
21547 (WebCore::Frame::setNeedsReapplyStyles):
21548
hyatt@apple.com8e340252008-09-17 20:59:45 +0000215492008-09-17 David Hyatt <hyatt@apple.com>
21550
21551 Make the notion of having a native widget backing a Widget cross-platform.
21552 The PlatformWidget abstraction (which already existed) is used for this.
21553 Windows = HWND
21554 Qt = QWidget
21555 Mac = NSView
21556 wx = wxWindow
21557 Gtk = GtkWidget
21558
21559 There are new cross-platform methods that replace all of the unique
21560 platform-specific methods.
21561 platformWidget()
21562 setPlatformWidget()
21563
21564 For plugins, on every platform except Qt on Windows, the plugin's native
21565 widget is now stored in the Widget base class. Since Qt on Windows uses
21566 HWNDs for plugins instead of QWidget, it is the only platform to keep the
21567 m_window variable in PluginView.
21568
21569 Reviewed by Sam Weinig
21570
21571 * WebCore.base.exp:
21572 * bindings/js/ScriptControllerMac.mm:
21573 (WebCore::ScriptController::createScriptInstanceForWidget):
21574 * page/mac/AccessibilityObjectWrapper.mm:
21575 (-[AccessibilityObjectWrapper attachmentView]):
21576 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
21577 * page/mac/EventHandlerMac.mm:
21578 (WebCore::EventHandler::passMouseDownEventToWidget):
21579 (WebCore::EventHandler::mouseDownViewIfStillGood):
21580 (WebCore::EventHandler::passWheelEventToWidget):
21581 (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking):
21582 * platform/Widget.cpp:
21583 (WebCore::Widget::init):
21584 (WebCore::Widget::setParent):
21585 (WebCore::Widget::releasePlatformWidget):
21586 (WebCore::Widget::retainPlatformWidget):
21587 * platform/Widget.h:
21588 (WebCore::Widget::platformWidget):
21589 (WebCore::Widget::setPlatformWidget):
21590 * platform/gtk/WidgetGtk.cpp:
21591 (WebCore::Widget::Widget):
21592 (WebCore::Widget::setFocus):
21593 (WebCore::gdkDrawable):
21594 (WebCore::Widget::setCursor):
21595 (WebCore::Widget::show):
21596 (WebCore::Widget::hide):
21597 (WebCore::Widget::setEnabled):
21598 (WebCore::Widget::isEnabled):
21599 (WebCore::Widget::paint):
21600 * platform/mac/PlatformScreenMac.mm:
21601 (WebCore::screenRect):
21602 (WebCore::screenAvailableRect):
21603 * platform/mac/ScrollViewMac.mm:
21604 (WebCore::ScrollView::scrollView):
21605 (WebCore::ScrollView::update):
21606 (WebCore::ScrollView::inWindow):
21607 * platform/mac/ScrollbarMac.mm:
21608 (WebCore::ScrollbarMac::ScrollbarMac):
21609 (WebCore::ScrollbarMac::~ScrollbarMac):
21610 (WebCore::ScrollbarMac::updateThumbPosition):
21611 (WebCore::ScrollbarMac::updateThumbProportion):
21612 (WebCore::ScrollbarMac::scrollbarHit):
21613 * platform/mac/WidgetMac.mm:
21614 (WebCore::Widget::Widget):
21615 (WebCore::Widget::setEnabled):
21616 (WebCore::Widget::isEnabled):
21617 (WebCore::Widget::setFocus):
21618 (WebCore::Widget::getOuterView):
21619 (WebCore::Widget::paint):
21620 (WebCore::Widget::invalidate):
21621 (WebCore::Widget::invalidateRect):
21622 (WebCore::Widget::setIsSelected):
21623 (WebCore::Widget::releasePlatformWidget):
21624 (WebCore::Widget::retainPlatformWidget):
21625 * platform/qt/WidgetQt.cpp:
21626 (WebCore::WidgetPrivate::WidgetPrivate):
21627 (WebCore::Widget::Widget):
21628 (WebCore::Widget::setFrameGeometry):
21629 (WebCore::Widget::show):
21630 (WebCore::Widget::hide):
21631 (WebCore::Widget::isEnabled):
21632 (WebCore::Widget::setEnabled):
21633 (WebCore::Widget::invalidateRect):
21634 (WebCore::Widget::containingWindow):
21635 * platform/win/WidgetWin.cpp:
21636 (WebCore::Widget::Widget):
21637 * platform/wx/WidgetWx.cpp:
21638 (WebCore::Widget::Widget):
21639 (WebCore::Widget::frameGeometry):
21640 (WebCore::Widget::setFocus):
21641 (WebCore::Widget::setCursor):
21642 (WebCore::Widget::show):
21643 (WebCore::Widget::hide):
21644 (WebCore::Widget::setFrameGeometry):
21645 (WebCore::Widget::setEnabled):
21646 (WebCore::Widget::isEnabled):
21647 (WebCore::Widget::invalidate):
21648 (WebCore::Widget::invalidateRect):
21649 (WebCore::Widget::paint):
21650 * plugins/PluginView.cpp:
21651 (WebCore::PluginView::PluginView):
21652 * plugins/PluginView.h:
21653 (WebCore::PluginView::platformPluginWidget):
21654 * plugins/gtk/PluginViewGtk.cpp:
21655 (WebCore::PluginView::updateWindow):
21656 (WebCore::PluginView::setFocus):
21657 (WebCore::PluginView::show):
21658 (WebCore::PluginView::hide):
21659 (WebCore::PluginView::setParent):
21660 (WebCore::PluginView::setNPWindowRect):
21661 (WebCore::PluginView::setParentVisible):
21662 (WebCore::PluginView::getValue):
21663 (WebCore::PluginView::forceRedraw):
21664 (WebCore::PluginView::init):
21665 * plugins/qt/PluginViewQt.cpp:
21666 (WebCore::PluginView::updateWindow):
21667 (WebCore::PluginView::setFocus):
21668 (WebCore::PluginView::show):
21669 (WebCore::PluginView::hide):
21670 (WebCore::PluginView::setParent):
21671 (WebCore::PluginView::setNPWindowRect):
21672 (WebCore::PluginView::setParentVisible):
21673 (WebCore::PluginView::getValue):
21674 (WebCore::PluginView::~PluginView):
21675 (WebCore::PluginView::init):
21676 * plugins/win/PluginViewWin.cpp:
21677 (WebCore::PluginView::updateWindow):
21678 (WebCore::PluginView::setFocus):
21679 (WebCore::PluginView::show):
21680 (WebCore::PluginView::hide):
21681 (WebCore::PluginView::paint):
21682 (WebCore::PluginView::setParent):
21683 (WebCore::PluginView::setParentVisible):
21684 (WebCore::PluginView::setNPWindowRect):
21685 (WebCore::PluginView::stop):
21686 (WebCore::PluginView::invalidateRect):
21687 (WebCore::PluginView::forceRedraw):
21688 (WebCore::PluginView::~PluginView):
21689 (WebCore::PluginView::init):
21690
weinig@apple.comf713d132008-09-17 20:16:48 +0000216912008-09-17 Sam Weinig <sam@webkit.org>
21692
21693 Fix assert.
21694
21695 * platform/Widget.cpp:
21696 (WebCore::Widget::setParent):
21697
hyatt@apple.comd9242e32008-09-17 18:46:31 +0000216982008-09-17 David Hyatt <hyatt@apple.com>
21699
21700 Beginnings of Widget refactoring (in order to make the mixing of
21701 widgets with and without corresponding native widgets more cross-platform).
21702
21703 This first patch makes the concept of a parent ScrollView cross-platform.
21704
21705 Note the similarity of the show/hide methods on the three PluginViews. This
21706 will be refactored better in a later patch so that they can all share
21707 a base class Widget show/hide method. For now the changes were made
21708 simply to be able to bring WidgetWin's setParent method up into Widget.
21709
21710 Reviewed by Sam Weinig
21711
21712 * WebCore.base.exp:
21713 * platform/ScrollView.h:
21714 * platform/Widget.cpp:
21715 (WebCore::Widget::init):
21716 (WebCore::Widget::setParent):
21717 * platform/Widget.h:
21718 (WebCore::Widget::isSelfVisible):
21719 (WebCore::Widget::isParentVisible):
21720 (WebCore::Widget::isVisible):
21721 (WebCore::Widget::setParentVisible):
21722 (WebCore::Widget::isPluginView):
21723 (WebCore::Widget::parent):
21724 (WebCore::Widget::handleEvent):
21725 (WebCore::Widget::geometryChanged):
21726 * platform/gtk/WidgetGtk.cpp:
21727 (WebCore::Widget::Widget):
21728 * platform/mac/ScrollViewMac.mm:
21729 (WebCore::ScrollView::addChild):
21730 (WebCore::ScrollView::removeChild):
21731 * platform/mac/ScrollbarMac.mm:
21732 (WebCore::ScrollbarMac::~ScrollbarMac):
21733 * platform/mac/WidgetMac.mm:
21734 (WebCore::Widget::Widget):
21735 (WebCore::Widget::~Widget):
21736 * platform/qt/WidgetQt.cpp:
21737 (WebCore::WidgetPrivate::WidgetPrivate):
21738 (WebCore::Widget::Widget):
21739 (WebCore::Widget::topLevel):
21740 * platform/win/ScrollViewWin.cpp:
21741 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
21742 (WebCore::ScrollView::setAncestorVisible):
21743 (WebCore::ScrollView::show):
21744 (WebCore::ScrollView::hide):
21745 * platform/win/WidgetWin.cpp:
21746 (WebCore::Widget::Widget):
21747 (WebCore::Widget::setParent):
21748 * platform/wx/WidgetWx.cpp:
21749 (WebCore::Widget::Widget):
21750 * plugins/PluginView.cpp:
21751 (WebCore::PluginView::PluginView):
21752 * plugins/PluginView.h:
21753 * plugins/gtk/PluginViewGtk.cpp:
21754 (WebCore::PluginView::show):
21755 (WebCore::PluginView::hide):
21756 (WebCore::PluginView::setParentVisible):
21757 * plugins/qt/PluginViewQt.cpp:
21758 (WebCore::PluginView::show):
21759 (WebCore::PluginView::hide):
21760 (WebCore::PluginView::setParentVisible):
21761 * plugins/win/PluginViewWin.cpp:
21762 (WebCore::PluginView::show):
21763 (WebCore::PluginView::hide):
21764 (WebCore::PluginView::setParentVisible):
21765
ap@webkit.org18da1a32008-09-17 16:50:22 +0000217662008-09-17 Alexey Proskuryakov <ap@webkit.org>
21767
21768 Reviewed by Adam Roben.
21769
21770 <rdar://problem/6219577> Spew in console at launch about encoding mappings when running with ICU 4.0
21771
21772 * platform/text/TextCodecICU.cpp:
21773 (WebCore::TextCodecICU::registerExtendedEncodingNames): Updated for new encoding names.
21774
vestbo@webkit.orge48e6362008-09-17 13:29:42 +0000217752008-09-17 Tor Arne Vestbø <tavestbo@trolltech.com>
21776
21777 Fix the QtWebKit/Mac build
21778
21779 * platform/qt/ScrollViewQt.cpp: add include
21780
ap@webkit.org18da1a32008-09-17 16:50:22 +0000217812008-09-17 David Hyatt <hyatt@apple.com>
hyatt@apple.com0f37fb52008-09-17 08:17:26 +000021782
21783 Add a #define to control whether or not to use an NSScroller on Mac.
21784 This ifdef will allow the new NSView-less NSScroller on Mac to be
21785 developed side by side with the current one.
21786
21787 The new scroller paints a debug red if turned on (although due to
21788 Widget issues you won't see anything paint yet).
21789
21790 Reviewed by olliej
21791
21792 * platform/Scrollbar.cpp:
21793 * platform/Scrollbar.h:
21794 * platform/mac/ScrollbarMac.h:
21795 * platform/mac/ScrollbarMac.mm:
21796 * platform/mac/ScrollbarThemeMac.cpp:
21797 (WebCore::ScrollbarThemeMac::paint):
21798 * platform/mac/ScrollbarThemeMac.h:
21799
alp@webkit.orgf06bac02008-09-17 04:30:12 +0000218002008-09-16 Marco Barisione <marco.barisione@collabora.co.uk>
21801
21802 Reviewed by Alp Toker.
21803
21804 http://bugs.webkit.org/show_bug.cgi?id=20854
21805 [GTK] Windows can be not realized in ScrollView::update
21806
21807 Do not call gdk_window_invalidate_rect on a non-realized GtkWidget.
21808
21809 * platform/gtk/ScrollViewGtk.cpp:
21810 (WebCore::ScrollView::update):
21811
alp@webkit.org226f72a2008-09-17 04:22:02 +0000218122008-09-16 Alp Toker <alp@nuanti.com>
21813
21814 Suggested by Dave Hyatt.
21815
21816 Build fix and cleanup. Rename ScrollBar to Scrollbar.
21817
21818 * GNUmakefile.am:
21819 * WebCore.pro:
21820 * WebCore.vcproj/WebCore.vcproj:
21821 * WebCore.xcodeproj/project.pbxproj:
21822 * WebCoreSources.bkl:
21823 * editing/EditorCommand.cpp:
21824 * page/EventHandler.cpp:
21825 * page/gtk/EventHandlerGtk.cpp:
21826 * page/mac/EventHandlerMac.mm:
21827 * page/mac/FrameMac.mm:
21828 * page/qt/EventHandlerQt.cpp:
21829 * page/wx/EventHandlerWx.cpp:
21830 * platform/PopupMenu.h:
21831 * platform/ScrollBar.cpp: Removed.
21832 * platform/ScrollBar.h: Removed.
21833 * platform/Scrollbar.cpp: Copied from WebCore/platform/ScrollBar.cpp.
21834 * platform/Scrollbar.h: Copied from WebCore/platform/ScrollBar.h.
21835 * platform/gtk/ScrollbarGtk.cpp:
21836 (ScrollbarGtk::ScrollbarGtk):
21837 * platform/gtk/ScrollbarGtk.h:
21838 * platform/mac/ScrollbarMac.h:
21839 * platform/qt/ScrollViewQt.cpp:
21840 * platform/qt/ScrollbarQt.cpp:
21841 * platform/qt/ScrollbarThemeQt.cpp:
21842 * platform/win/PlatformScrollBar.h:
21843 * platform/win/PopupMenuWin.cpp:
21844 * platform/win/ScrollViewWin.cpp:
21845 * platform/win/ScrollbarThemeWin.cpp:
21846 * platform/wx/ScrollViewWx.cpp:
21847 * platform/wx/TemporaryLinkStubs.cpp:
21848 * rendering/HitTestResult.cpp:
21849 * rendering/RenderLayer.cpp:
21850 * rendering/RenderTextControl.cpp:
21851
hyatt@apple.com7597c172008-09-17 02:15:08 +0000218522008-09-16 David Hyatt <hyatt@apple.com>
21853
hyatt@apple.comfde412d2008-09-17 03:49:48 +000021854 Fix Qt build bustage by making moveThumb a member of Scrollbar so that
21855 it can be called from ScrollbarQt.
21856
21857 * platform/ScrollBar.cpp:
21858 (WebCore::Scrollbar::moveThumb):
21859 (WebCore::Scrollbar::handleMouseMoveEvent):
21860 (WebCore::Scrollbar::handleMousePressEvent):
21861 * platform/ScrollBar.h:
21862 * platform/qt/ScrollViewQt.cpp:
21863 * platform/qt/ScrollbarQt.cpp:
21864 (WebCore::Scrollbar::handleContextMenuEvent):
21865
218662008-09-16 David Hyatt <hyatt@apple.com>
21867
hyatt@apple.com4e3b8602008-09-17 03:17:11 +000021868 Eliminate PlatformScrollbar. Mac and Gtk now have subclasses for their
21869 native-widget scrollbars (ScrollbarMac and ScrollbarGtk). Other platforms
21870 now just use Scrollbar.
21871
21872 Reviewed by Sam Weinig
21873
21874 * GNUmakefile.am:
21875 * WebCore.pro:
21876 * WebCore.vcproj/WebCore.vcproj:
21877 * WebCore.xcodeproj/project.pbxproj:
21878 * page/mac/FrameMac.mm:
21879 * platform/PopupMenu.h:
21880 (WebCore::PopupMenu::scrollbar):
21881 * platform/ScrollBar.cpp:
21882 (WebCore::createNativeScrollbar):
21883 * platform/ScrollBar.h:
21884 * platform/gtk/PlatformScrollBar.h: Removed.
21885 * platform/gtk/PlatformScrollBarGtk.cpp: Removed.
21886 * platform/gtk/ScrollbarGtk.cpp: Copied from platform/gtk/PlatformScrollBarGtk.cpp.
21887 (gtkScrollEventCallback):
21888 (ScrollbarGtk::ScrollbarGtk):
21889 (ScrollbarGtk::~ScrollbarGtk):
21890 (ScrollbarGtk::updateThumbPosition):
21891 (ScrollbarGtk::updateThumbProportion):
21892 (ScrollbarGtk::setFrameGeometry):
21893 (ScrollbarGtk::geometryChanged):
21894 (ScrollbarGtk::gtkValueChanged):
21895 * platform/gtk/ScrollbarGtk.h: Copied from platform/gtk/PlatformScrollBar.h.
21896 * platform/mac/PlatformScrollBar.h: Removed.
21897 * platform/mac/PlatformScrollBarMac.mm: Removed.
21898 * platform/mac/ScrollbarMac.h: Copied from platform/mac/PlatformScrollBar.h.
21899 * platform/mac/ScrollbarMac.mm: Copied from platform/mac/PlatformScrollBarMac.mm.
21900 (-[WebCoreScrollBar initWithScrollbarMac:]):
21901 (-[WebCoreScrollBar detachScrollbarMac]):
21902 (WebCore::Scrollbar::createNativeScrollbar):
21903 (WebCore::ScrollbarMac::ScrollbarMac):
21904 (WebCore::ScrollbarMac::~ScrollbarMac):
21905 (WebCore::ScrollbarMac::updateThumbPosition):
21906 (WebCore::ScrollbarMac::updateThumbProportion):
21907 (WebCore::ScrollbarMac::scrollbarHit):
21908 * platform/qt/PlatformScrollBar.h: Removed.
21909 * platform/qt/PlatformScrollBarQt.cpp: Removed.
21910 * platform/qt/ScrollbarQt.cpp: Copied from platform/qt/PlatformScrollBarQt.cpp.
21911 (WebCore::Scrollbar::handleContextMenuEvent):
21912 * rendering/HitTestResult.cpp:
21913 * rendering/RenderLayer.cpp:
21914 (WebCore::RenderLayer::createScrollbar):
21915 (WebCore::RenderLayer::destroyScrollbar):
21916 * rendering/RenderLayer.h:
21917 * rendering/RenderListBox.cpp:
21918 (WebCore::RenderListBox::~RenderListBox):
21919 (WebCore::RenderListBox::updateFromElement):
21920 (WebCore::RenderListBox::isPointInOverflowControl):
21921 * rendering/RenderObject.h:
21922 * rendering/RenderTextControl.cpp:
21923
219242008-09-16 David Hyatt <hyatt@apple.com>
21925
hyatt@apple.com7597c172008-09-17 02:15:08 +000021926 Make the scrollbar resizer-dodging logic cross-platform in the
21927 Scrollbar class.
21928
21929 Reviewed by Sam Weinig
21930
21931 * platform/ScrollBar.cpp:
21932 (WebCore::Scrollbar::setFrameGeometry):
21933 (WebCore::Scrollbar::setParent):
21934 (WebCore::Scrollbar::windowClipRect):
21935 * platform/ScrollBar.h:
21936 * platform/ScrollView.h:
21937 (WebCore::ScrollView::windowResizerRect):
21938 (WebCore::ScrollView::resizerOverlapsContent):
21939 (WebCore::ScrollView::adjustOverlappingScrollbarCount):
21940 * platform/Widget.h:
21941 (WebCore::Widget::setParent):
21942 * platform/mac/WidgetMac.mm:
21943 (WebCore::Widget::convertToContainingWindow):
21944 * platform/win/PlatformScrollBar.h:
21945 * platform/win/PlatformScrollBarWin.cpp:
21946
mitz@apple.com6d925202008-09-16 17:34:10 +0000219472008-09-16 Dan Bernstein <mitz@apple.com>
21948
mitz@apple.comd9462a52008-09-16 17:40:20 +000021949 Reviewed by Darin Adler.
21950
21951 - fix https://bugs.webkit.org/show_bug.cgi?id=15129
21952 <rdar://problem/4644824> adding a new line with DOM does unnecessary additional repaint
21953
21954 Covered by fast/repaint/4776765.html
21955
21956 * rendering/RenderBlock.cpp:
21957 (WebCore::RenderBlock::layoutBlock): Avoid repainting this object if it
21958 did not have layout in the beginning.
21959 (WebCore::RenderBlock::layoutBlockChildren): If a child did not have
21960 layout in the beginning, repaint it in its new position, to compensate
21961 for the above (regardless of whether it "moved").
21962 * rendering/RenderObject.cpp:
21963 (WebCore::RenderObject::checkForRepaintDuringLayout): Added a comment
21964 about generalizing this fix in the future.
21965
219662008-09-16 Dan Bernstein <mitz@apple.com>
21967
mitz@apple.com6d925202008-09-16 17:34:10 +000021968 Reviewed by Dave Hyatt.
21969
21970 - fix https://bugs.webkit.org/show_bug.cgi?id=15384
21971 Div does not notice when grandparent changes height
21972
21973 Test: fast/block/basic/quirk-percent-height-grandchild.html
21974
21975 - fix https://bugs.webkit.org/show_bug.cgi?id=20714
21976 Resizing Gmail inbox vertically results in whitespace at the bottom of the window
21977
21978 Test: fast/replaced/percent-height-in-anonymous-block.html
21979
21980 Added a two-way mapping between boxes with percentage heights and
21981 their non-parent ancestors up to the one the height is computed relative
21982 to. In quirks mode (the first bug), this can be any number of containing
21983 block with auto height. In strict mode (the second bug) this can be
21984 the containing block of an anonymous block containing a replaced
21985 element.
21986
21987 * rendering/RenderBlock.cpp:
21988 (WebCore::RenderBlock::~RenderBlock): Added code to remove the all the
21989 mapping to/from this block to percentage-height descendants.
21990 (WebCore::RenderBlock::layoutBlockChildren): Added code to mark
21991 percentage-height descendants (and their containing block ancestry chain
21992 up to this block) for layout. This ensures that those descendants whose
21993 height depends on the height of this block (or an ancestor) are updated.
21994 (WebCore::RenderBlock::addPercentHeightDescendant): Added. Establishes
21995 a two-way mapping between this block and the given box.
21996 (WebCore::RenderBlock::removePercentHeightDescendant): Added. Removes
21997 all the mapping to/from this box.
21998 * rendering/RenderBlock.h:
21999 * rendering/RenderBox.cpp:
22000 (WebCore::RenderBox::setStyle): Added calls to
22001 removePercentHeightDescendant() when style changes and the box
22002 previously had a percentage height. An exception is when the style
22003 change does not require layout, in which case the box still has
22004 a percentage height and the mappings are valid. In all other cases,
22005 any required mappings will be (re-)established during layout.
22006 (WebCore::RenderBox::destroy): Added a call to
22007 removePercentHeightDescendant.
22008 (WebCore::RenderBox::calcPercentageHeight): Added code that, in quirks
22009 mode, if a higher-than-parent containing block is affecting the box's
22010 height, creates a mapping between the box and that block.
22011 (WebCore::RenderBox::calcReplacedHeightUsing): Changed to skip over
22012 anonymous containing blocks, if any, and when that happens, use
22013 addPercentHeightDescendant() to ensure that the non-anonymous block
22014 is aware of the dependent percent-height box.
22015
alp@webkit.org1dbd9a92008-09-16 16:59:18 +0000220162008-09-16 Dirk Schulze <vbs85@gmx.de>
22017
22018 Reviewed by Oliver Hunt and Alp Toker.
22019
22020 Implemented toDataURL in Cairo. Only PNG support
22021 at the moment.
22022
22023 Qt, Cairo and wx require toDataURL implementations
22024 https://bugs.webkit.org/show_bug.cgi?id=17719
22025
22026 * platform/MIMETypeRegistry.cpp:
22027 (WebCore::initializeSupportedImageMIMETypesForEncoding):
22028 * platform/graphics/cairo/ImageBufferCairo.cpp:
22029 (WebCore::ImageBuffer::ImageBuffer):
22030 (WebCore::writeFunction):
22031 (WebCore::ImageBuffer::toDataURL):
22032
vestbo@webkit.org8963b3c2008-09-16 16:45:20 +0000220332008-09-16 Tor Arne Vestbø <tavestbo@trolltech.com>
22034
22035 Reviewed by Simon.
22036
22037 Hide unused media element controls in the QtWebKit port
22038
22039 * platform/qt/html4-adjustments-qt.css
22040
hausmann@webkit.orgcd7a1292008-09-16 14:19:16 +0000220412008-09-16 Ariya Hidayat <ariya.hidayat@trolltech.com>
22042
22043 Reviewed by Simon.
22044
22045 Fix compilation of the Qt scrollbar code.
22046
22047 * platform/qt/PlatformScrollBarQt.cpp:
22048 (WebCore::scPart):
22049 (WebCore::styleOptionSlider):
22050 (WebCore::thumbLength):
22051 (WebCore::pixelPosToRangeValue):
22052 (WebCore::PlatformScrollbar::handleContextMenuEvent):
22053
treat@webkit.orga35f6b62008-09-16 14:15:29 +0000220542008-09-16 Adam Treat <treat@kde.org>
22055
22056 Reviewed by Anders Carlsson.
22057
22058 Prevent accesses off of the end of the buffer introduced in r36450
22059 and when checking for descriptions of mime. Also, coding style fix.
22060
22061 * plugins/qt/PluginPackageQt.cpp:
22062 (WebCore::PluginPackage::fetchInfo):
22063
rwlbuis@webkit.org8f675dd2008-09-16 11:12:52 +0000220642008-09-15 Rob Buis <buis@kde.org>
22065
22066 Reviewed by Eric.
22067
22068 https://bugs.webkit.org/show_bug.cgi?id=20634
22069 SVG transform attribute is ignored by <use> in <clipPath>
22070
22071 Transform the paths with the local transform when part
22072 of a clip path.
22073
22074 Test: svg/custom/use-clipped-transform.svg
22075
22076 * svg/SVGClipPathElement.cpp:
22077 (WebCore::SVGClipPathElement::canvasResource):
22078 * svg/SVGStyledTransformableElement.cpp:
22079 (WebCore::SVGStyledTransformableElement::toClipPath):
22080 * svg/SVGStyledTransformableElement.h:
22081
hyatt@apple.com1cd4bcc2008-09-16 06:53:34 +0000220822008-09-15 Dave Hyatt <hyatt@apple.com>
22083
22084 Convert Qt over to its ScrollbarTheme. Add cross-platform support for jumping the thumb location directly
22085 to a pressed location on the track (this is done with the middle mouse on Qt and with Shift-Click on Windows).
22086
22087 Reviewed by Sam Weinig
22088
22089 * platform/ScrollBar.cpp:
22090 (WebCore::thumbUnderMouse):
22091 (WebCore::Scrollbar::autoscrollPressedPart):
22092 (WebCore::Scrollbar::startTimerIfNeeded):
22093 (WebCore::moveThumb):
22094 (WebCore::Scrollbar::handleMouseMoveEvent):
22095 (WebCore::Scrollbar::handleMousePressEvent):
22096 * platform/ScrollBar.h:
22097 (WebCore::Scrollbar::pressedPos):
22098 (WebCore::Scrollbar::pixelStep):
22099 (WebCore::Scrollbar::setPressedPos):
22100 * platform/ScrollbarTheme.h:
22101 (WebCore::ScrollbarTheme::thumbPosition):
22102 (WebCore::ScrollbarTheme::thumbLength):
22103 (WebCore::ScrollbarTheme::trackPosition):
22104 (WebCore::ScrollbarTheme::trackLength):
22105 * platform/ScrollbarThemeComposite.cpp:
22106 (WebCore::ScrollbarThemeComposite::trackPosition):
22107 * platform/ScrollbarThemeComposite.h:
22108 * platform/qt/PlatformScrollBarQt.cpp:
22109 (WebCore::PlatformScrollbar::PlatformScrollbar):
22110 (WebCore::):
22111 * platform/qt/ScrollbarThemeQt.cpp:
22112 (WebCore::styleOptionSlider):
22113 (WebCore::ScrollbarThemeQt::hitTest):
22114 (WebCore::ScrollbarThemeQt::shouldCenterOnThumb):
22115 (WebCore::ScrollbarThemeQt::invalidatePart):
22116 (WebCore::ScrollbarThemeQt::thumbPosition):
22117 (WebCore::):
22118 * platform/qt/ScrollbarThemeQt.h:
22119 * platform/win/ScrollbarThemeSafari.cpp:
22120 (WebCore::ScrollbarThemeSafari::shouldCenterOnThumb):
22121 * platform/win/ScrollbarThemeSafari.h:
22122 * platform/win/ScrollbarThemeWin.cpp:
22123 (WebCore::ScrollbarThemeWin::shouldCenterOnThumb):
22124 * platform/win/ScrollbarThemeWin.h:
22125
dsmith@webkit.orgb3107b532008-09-16 06:14:22 +0000221262008-09-15 David Smith <catfish.man@gmail.com>
22127
22128 Reviewed by Sam Weinig.
22129
22130 https://bugs.webkit.org/show_bug.cgi?id=20180
22131
22132 Cache the result of parsing the an+b expression in :nth-child(an+b). Roughly a 2x speedup for :nth-child on SlickSpeed.
22133
22134 * GNUmakefile.am: Add CSSNthSelector
22135 * WebCore.pro: Add CSSNthSelector
22136 * WebCore.vcproj/WebCore.vcproj: Add CSSNthSelector
22137 * WebCore.xcodeproj/project.pbxproj: Add CSSNthSelector
22138 * css/CSSGrammar.y: Create CSSNthSelectors instead of CSSSelectors for :nth-*
22139 * css/CSSNthSelector.cpp: Added.
22140 (WebCore::CSSNthSelector::parseNth): Moved from CSSStyleSelector and modified to cache
22141 (WebCore::CSSNthSelector::matchNth): Moved from CSSStyleSelector and modified to use the cache
22142 * css/CSSNthSelector.h: Added.
22143 (WebCore::CSSNthSelector::CSSNthSelector):
22144 (WebCore::CSSNthSelector::~CSSNthSelector):
22145 * css/CSSParser.cpp:
22146 (WebCore::CSSParser::createFloatingNthSelector):
22147 * css/CSSParser.h:
22148 * css/CSSSelector.h: Use the free bit here to store a flag for CSSNthSelector
22149 (WebCore::CSSSelector::CSSSelector):
22150 * css/CSSStyleSelector.cpp:
22151 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Take advantage of knowing that all :nth-* selectors are CSSNthSelectors
22152
pewtermoose@webkit.orgfb4d3fb2008-09-16 02:46:39 +0000221532008-09-15 Matt Lilek <webkit@mattlilek.com>
22154
22155 Reviewed by Tim Hatcher.
22156
22157 Clean up some inspector JS callbacks to remove an extra return.
22158
22159 * page/InspectorController.cpp:
22160 (WebCore::hideDOMNodeHighlight):
22161 (WebCore::loaded):
22162 (WebCore::unloading):
22163 (WebCore::attach):
22164 (WebCore::detach):
22165 (WebCore::startDebuggingAndReloadInspectedPage):
22166 (WebCore::stopDebugging):
22167 (WebCore::debuggerAttached):
22168 (WebCore::pauseOnExceptions):
22169 (WebCore::pauseInDebugger):
22170 (WebCore::resumeDebugger):
22171 (WebCore::stepOverStatementInDebugger):
22172 (WebCore::stepIntoStatementInDebugger):
22173 (WebCore::stepOutOfFunctionInDebugger):
22174 (WebCore::isWindowVisible):
22175 (WebCore::closeWindow):
22176
hyatt@apple.com8e809932008-09-16 02:29:09 +0000221772008-09-15 Dave Hyatt <hyatt@apple.com>
22178
22179 Completely switch Windows scrollbars over to ScrollbarTheme. The Aqua windows scrollbar and native scrollbar
22180 now share most of their code.
22181
22182 Also removing mini size scrollbar support, since it would have crashed Windows had it ever been used, and it
22183 also is never used in our code anyway.
22184
22185 Reviewed by Sam Weinig
22186
22187 * WebCore.vcproj/WebCore.vcproj:
22188 * platform/ScrollTypes.h:
22189 (WebCore::):
22190 * platform/ScrollbarThemeComposite.cpp:
22191 (WebCore::ScrollbarThemeComposite::splitTrack):
22192 (WebCore::ScrollbarThemeComposite::thumbLength):
22193 (WebCore::ScrollbarThemeComposite::minimumThumbLength):
22194 * platform/ScrollbarThemeComposite.h:
22195 * platform/mac/PlatformScrollBarMac.mm:
22196 (NSControlSizeForScrollBarControlSize):
22197 * platform/win/PlatformScrollBar.h:
22198 * platform/win/PlatformScrollBarSafari.cpp: Removed.
22199 * platform/win/PlatformScrollBarWin.cpp:
22200 (WebCore::PlatformScrollbar::PlatformScrollbar):
22201 * platform/win/ScrollbarThemeSafari.cpp:
22202 (WebCore::ScrollbarTheme::nativeTheme):
22203 (WebCore::):
22204 (WebCore::scrollbarControlStateFromThemeState):
22205 (WebCore::ScrollbarThemeSafari::hasButtons):
22206 (WebCore::ScrollbarThemeSafari::hasThumb):
22207 (WebCore::buttonRepaintRect):
22208 (WebCore::ScrollbarThemeSafari::backButtonRect):
22209 (WebCore::ScrollbarThemeSafari::forwardButtonRect):
22210 (WebCore::trackRepaintRect):
22211 (WebCore::ScrollbarThemeSafari::trackRect):
22212 (WebCore::ScrollbarThemeSafari::minimumThumbLength):
22213 (WebCore::ScrollbarThemeSafari::paintTrack):
22214 (WebCore::ScrollbarThemeSafari::paintButton):
22215 (WebCore::ScrollbarThemeSafari::paintThumb):
22216 * platform/win/ScrollbarThemeSafari.h:
22217 * platform/win/ScrollbarThemeWin.cpp:
22218 * platform/win/ScrollbarThemeWin.h:
22219
cfleizach@apple.com0ce07032008-09-16 00:17:58 +0000222202008-09-15 Chris Fleizach <cfleizach@apple.com>
22221
22222 Reviewed by Darin Adler, Beth Dakin
22223
22224 <rdar://problem/4003789> Expose lists as AXList
22225 <rdar://problem/5707399> VO: Definition lists not announced in Safari
22226
22227 Lists are now exposed through AX. On the mac (in SnowLeopard) they use two new subroles
22228 AXContentList for <ul>, <ol> and AXDefinitionList for <dl>
22229 Inside the definition list, each <dt> "term" has an accessibility description ("term"),
22230 as does each <dd> tag ("definition")
22231
22232 Test: accessibility/lists.html
22233
22234 * GNUmakefile.am:
22235 * WebCore.pro:
22236 * WebCore.vcproj/WebCore.vcproj:
22237 * WebCore.xcodeproj/project.pbxproj:
22238 * WebCoreSources.bkl:
22239 * page/AXObjectCache.cpp:
22240 * page/AccessibilityList.cpp: Added.
22241 * page/AccessibilityList.h: Added.
22242 * page/AccessibilityObject.h:
22243 * page/AccessibilityRenderObject.cpp:
22244 * page/AccessibilityTable.cpp:
22245 * page/mac/AccessibilityObjectWrapper.mm:
22246 * page/mac/WebCoreViewFactory.h:
22247 * platform/LocalizedStrings.h:
22248 * platform/mac/LocalizedStringsMac.mm:
22249 * platform/qt/Localizations.cpp:
22250
zimmermann@webkit.org8cc8ad02008-09-16 00:01:11 +0000222512008-09-15 Nikolas Zimmermann <zimmermann@kde.org>
22252
22253 Reviewed by Eric.
22254
22255 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20865
22256 Prepare HTMLScriptElement & SVGScriptElement unification, and unification of event handling.
22257
22258 Several renames:
22259 dispatchHTMLEvent -> dispatchEventForType
22260 setHTMLEventListener -> setEventListenerForType
22261 getHTMLEventListener -> eventListenerForType
22262 removeHTMLEventListener -> removeEventListenerForType
22263 isHTMLEventListener -> isAttachedToEventTargetNode
22264 ...
22265
22266 Similar renames for the dispatch/get/set/*Window*Event functions.
22267 Kill JSSVGLazyEventListener and merge with JSLazyEventListener.
22268
22269 Most important change: Rename setHTMLEventListener to setEventListenerForTypeAndAttribute,
22270 as there exists a generic createEventListener() method now, taking care of JSLazyEventListener creation.
22271
22272 setHTMLEventListener() used createHTMLEventListener() before and was HTML specific.
22273 SVG is able to use the code as well now. This affects most files in html/.
22274
22275 No functional changes.
22276
22277 * GNUmakefile.am:
22278 * WebCore.pro:
22279 * WebCore.vcproj/WebCore.vcproj:
22280 * WebCore.xcodeproj/project.pbxproj:
22281 * bindings/js/JSDOMWindowBase.cpp:
22282 (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
22283 (WebCore::JSDOMWindowBase::setListener):
22284 (WebCore::JSDOMWindowBase::getListener):
22285 (WebCore::JSDOMWindowBase::findJSEventListener):
22286 (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
22287 (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
22288 (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
22289 (WebCore::JSDOMWindowBase::jsEventListenersAttachedToEventTargetNodes):
22290 (WebCore::JSDOMWindowBase::jsUnprotectedEventListenersAttachedToEventTargetNodes):
22291 * bindings/js/JSDOMWindowBase.h:
22292 * bindings/js/JSEventListener.cpp:
22293 (WebCore::JSAbstractEventListener::handleEvent):
22294 (WebCore::JSAbstractEventListener::isAttachedToEventTargetNode):
22295 (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
22296 (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
22297 (WebCore::JSEventListener::JSEventListener):
22298 (WebCore::JSEventListener::~JSEventListener):
22299 (WebCore::JSLazyEventListener::JSLazyEventListener):
22300 (WebCore::eventParameterName):
22301 (WebCore::JSLazyEventListener::parseCode):
22302 (WebCore::getNodeEventListener):
22303 * bindings/js/JSEventListener.h:
22304 (WebCore::JSAbstractEventListener::JSAbstractEventListener):
22305 (WebCore::JSUnprotectedEventListener::create):
22306 (WebCore::JSEventListener::create):
22307 (WebCore::JSLazyEventListener::):
22308 (WebCore::JSLazyEventListener::create):
22309 * bindings/js/JSEventTargetNode.cpp:
22310 (WebCore::JSEventTargetNode::setListener):
22311 (WebCore::JSEventTargetNode::getListener):
22312 * bindings/js/JSSVGLazyEventListener.cpp: Removed.
22313 * bindings/js/JSSVGLazyEventListener.h: Removed.
22314 * bindings/js/ScriptController.cpp:
22315 (WebCore::ScriptController::createHTMLEventHandler):
22316 (WebCore::ScriptController::createSVGEventHandler):
22317 * dom/Document.cpp:
22318 (WebCore::Document::setFocusedNode):
22319 (WebCore::Document::handleWindowEvent):
22320 (WebCore::Document::setWindowEventListenerForType):
22321 (WebCore::Document::windowEventListenerForType):
22322 (WebCore::Document::removeWindowEventListenerForType):
22323 (WebCore::Document::addWindowEventListener):
22324 (WebCore::Document::hasWindowEventListener):
22325 (WebCore::Document::removePendingFrameBeforeUnloadEventCount):
22326 (WebCore::Document::createEventListener):
22327 (WebCore::Document::setWindowEventListenerForTypeAndAttribute):
22328 * dom/Document.h:
22329 * dom/EventListener.h:
22330 (WebCore::EventListener::isAttachedToEventTargetNode):
22331 * dom/EventTargetNode.cpp:
22332 (WebCore::EventTargetNode::dispatchFocusEvent):
22333 (WebCore::EventTargetNode::dispatchBlurEvent):
22334 (WebCore::EventTargetNode::dispatchEventForType):
22335 (WebCore::EventTargetNode::removeEventListenerForType):
22336 (WebCore::EventTargetNode::setEventListenerForType):
22337 (WebCore::EventTargetNode::setEventListenerForTypeAndAttribute):
22338 (WebCore::EventTargetNode::eventListenerForType):
22339 * dom/EventTargetNode.h:
22340 * dom/XMLTokenizer.cpp:
22341 (WebCore::XMLTokenizer::notifyFinished):
22342 * editing/ReplaceSelectionCommand.cpp:
22343 (WebCore::ReplacementFragment::ReplacementFragment):
22344 * html/HTMLBodyElement.cpp:
22345 (WebCore::HTMLBodyElement::parseMappedAttribute):
22346 * html/HTMLButtonElement.cpp:
22347 (WebCore::HTMLButtonElement::parseMappedAttribute):
22348 * html/HTMLElement.cpp:
22349 (WebCore::HTMLElement::parseMappedAttribute):
22350 (WebCore::HTMLElement::checkDTD):
22351 * html/HTMLElement.h:
22352 * html/HTMLFormControlElement.cpp:
22353 (WebCore::HTMLFormControlElement::onChange):
22354 * html/HTMLFormElement.cpp:
22355 (WebCore::HTMLFormElement::prepareSubmit):
22356 (WebCore::HTMLFormElement::reset):
22357 (WebCore::HTMLFormElement::parseMappedAttribute):
22358 * html/HTMLFrameElementBase.cpp:
22359 (WebCore::HTMLFrameElementBase::parseMappedAttribute):
22360 * html/HTMLFrameSetElement.cpp:
22361 (WebCore::HTMLFrameSetElement::parseMappedAttribute):
22362 * html/HTMLImageElement.cpp:
22363 (WebCore::HTMLImageElement::parseMappedAttribute):
22364 * html/HTMLImageLoader.cpp:
22365 (WebCore::HTMLImageLoader::dispatchLoadEvent):
22366 * html/HTMLInputElement.cpp:
22367 (WebCore::HTMLInputElement::parseMappedAttribute):
22368 (WebCore::HTMLInputElement::setValueFromRenderer):
22369 (WebCore::HTMLInputElement::onSearch):
22370 * html/HTMLMediaElement.cpp:
22371 (WebCore::HTMLMediaElement::asyncEventTimerFired):
22372 (WebCore::HTMLMediaElement::load):
22373 (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
22374 (WebCore::HTMLMediaElement::setReadyState):
22375 (WebCore::HTMLMediaElement::seek):
22376 (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
22377 (WebCore::HTMLMediaElement::willSaveToCache):
22378 * html/HTMLObjectElement.cpp:
22379 (WebCore::HTMLObjectElement::parseMappedAttribute):
22380 * html/HTMLScriptElement.cpp:
22381 (WebCore::HTMLScriptElement::parseMappedAttribute):
22382 (WebCore::HTMLScriptElement::dispatchLoadEvent):
22383 (WebCore::HTMLScriptElement::dispatchErrorEvent):
22384 * html/HTMLSelectElement.cpp:
22385 (WebCore::HTMLSelectElement::parseMappedAttribute):
22386 * html/HTMLTextAreaElement.cpp:
22387 (WebCore::HTMLTextAreaElement::parseMappedAttribute):
22388 * html/HTMLTokenizer.cpp:
22389 (WebCore::HTMLTokenizer::notifyFinished):
22390 * page/AccessibilityRenderObject.cpp:
22391 (WebCore::AccessibilityRenderObject::mouseButtonListener):
22392 * page/EventHandler.cpp:
22393 (WebCore::EventHandler::canMouseDownStartSelect):
22394 (WebCore::EventHandler::canMouseDragExtendSelect):
22395 * page/Frame.cpp:
22396 (WebCore::Frame::sendScrollEvent):
22397 * page/Page.cpp:
22398 (WebCore::networkStateChanged):
22399 * rendering/RenderListBox.cpp:
22400 (WebCore::RenderListBox::valueChanged):
22401 * rendering/RenderTextControl.cpp:
22402 (WebCore::RenderTextControl::selectionChanged):
22403 * svg/SVGDocumentExtensions.cpp:
22404 * svg/SVGDocumentExtensions.h:
22405 * svg/SVGElement.cpp:
22406 (WebCore::SVGElement::parseMappedAttribute):
22407 (WebCore::SVGElement::finishParsingChildren):
22408 * svg/SVGElement.h:
22409 * svg/SVGSVGElement.cpp:
22410 (WebCore::SVGSVGElement::parseMappedAttribute):
22411 * svg/SVGSVGElement.h:
22412
hyatt@apple.com63739ce2008-09-15 23:44:10 +0000224132008-09-15 Dave Hyatt <hyatt@apple.com>
22414
22415 Convert PlatformScrollbarWin to use ScrollbarTheme for hit testing. PlatformScrollbarQt/Gtk still
22416 need to be converted.
22417
22418 Reviewed by Sam Weinig
22419
22420 * platform/ScrollBar.cpp:
22421 (WebCore::Scrollbar::Scrollbar):
22422 (WebCore::Scrollbar::updateThumbPosition):
22423 (WebCore::Scrollbar::updateThumbProportion):
22424 (WebCore::Scrollbar::autoscrollPressedPart):
22425 (WebCore::Scrollbar::startTimerIfNeeded):
22426 * platform/ScrollBar.h:
22427 * platform/ScrollbarTheme.h:
22428 (WebCore::ScrollbarTheme::invalidateParts):
22429 * platform/ScrollbarThemeComposite.cpp:
22430 (WebCore::ScrollbarThemeComposite::hitTest):
22431 (WebCore::ScrollbarThemeComposite::invalidatePart):
22432 (WebCore::ScrollbarThemeComposite::thumbPosition):
22433 (WebCore::ScrollbarThemeComposite::thumbLength):
22434 (WebCore::ScrollbarThemeComposite::trackLength):
22435 * platform/ScrollbarThemeComposite.h:
22436 * platform/win/PlatformScrollBarSafari.cpp:
22437 (WebCore::PlatformScrollbar::PlatformScrollbar):
22438 * platform/win/PlatformScrollBarWin.cpp:
22439 (WebCore::PlatformScrollbar::PlatformScrollbar):
22440
dsmith@webkit.orgaa780ed2008-09-15 23:08:07 +0000224412008-09-15 David Smith <catfish.man@gmail.com>
22442
22443 "Just do it"'d by Mark Rowe
22444
22445 https://bugs.webkit.org/show_bug.cgi?id=20856
22446 Add missing license header
22447
22448 * dom/NodeRenderStyle.h:
22449
dino@apple.combf52b682008-09-15 21:31:43 +0000224502008-09-15 Dean Jackson <dino@apple.com>
22451
22452 Reviewed by Tim Hatcher.
22453
dino@apple.com3db0b8f2008-09-15 21:52:23 +000022454 Add default constructor for ShadowData
22455 https://bugs.webkit.org/show_bug.cgi?id=20757
22456
22457 Test: transitions/shadow.html
22458
22459 * rendering/style/RenderStyle.h:
22460
224612008-09-15 Dean Jackson <dino@apple.com>
22462
22463 Reviewed by Tim Hatcher.
22464
dino@apple.com03abdce2008-09-15 21:40:52 +000022465 RenderStyle should update keyframes.
22466 http://bugs.webkit.org/show_bug.cgi?id=20756
22467
22468 * rendering/style/RenderStyle.cpp:
22469 (WebCore::StyleRareNonInheritedData::updateKeyframes):
22470
224712008-09-15 Dean Jackson <dino@apple.com>
22472
22473 Reviewed by Tim Hatcher.
22474
dino@apple.combf52b682008-09-15 21:31:43 +000022475 Unnecessary ASSERT in ImplicitAnimation destructor.
22476 https://bugs.webkit.org/show_bug.cgi?id=20817
22477
22478 * page/animation/ImplicitAnimation.cpp:
22479 (WebCore::ImplicitAnimation::~ImplicitAnimation):
22480
treat@webkit.org7e5abc22008-09-15 20:53:49 +0000224812008-09-15 Adam Treat <treat@kde.org>
22482
22483 Reviewed by Simon.
22484
22485 Fix plugin extension info. It was returning the mimetype where the
22486 extension was given.
22487
22488 * plugins/qt/PluginPackageQt.cpp:
22489 (WebCore::PluginPackage::fetchInfo):
22490
dino@apple.comecc18dc2008-09-15 20:40:28 +0000224912008-09-15 Dean Jackson <dino@apple.com>
22492
22493 Reviewed by Tim Hatcher
22494
22495 Coding style violation!!!! Cleanup AnimationBase.cpp
22496
22497 * page/animation/AnimationBase.cpp:
22498 (WebCore::blendFunc):
22499
hyatt@apple.comf4a9d932008-09-15 20:03:25 +0000225002008-09-15 David Hyatt <hyatt@apple.com>
22501
22502 Move all hit testing code for scrollbars into the base class. Refactor
22503 it to accommodate all platform-specific behaviors using virtual ScrollbarTheme
22504 functions.
22505
22506 No platform is using this code yet. Although it has been moved and compiles
22507 (even on Mac), it is not being used on any platform.
22508
22509 Reviewed by Sam Weinig
22510
22511 * platform/ScrollBar.cpp:
22512 (WebCore::Scrollbar::autoscrollPressedPart):
22513 (WebCore::Scrollbar::startTimerIfNeeded):
22514 (WebCore::Scrollbar::handleMouseMoveEvent):
22515 (WebCore::Scrollbar::handleMouseOutEvent):
22516 (WebCore::Scrollbar::handleMouseReleaseEvent):
22517 (WebCore::Scrollbar::handleMousePressEvent):
22518 * platform/ScrollBar.h:
22519 (WebCore::Scrollbar::handleContextMenuEvent):
22520 * platform/ScrollbarTheme.h:
22521 (WebCore::ScrollbarTheme::hitTest):
22522 (WebCore::ScrollbarTheme::invalidateOnMouseEnterExit):
22523 (WebCore::ScrollbarTheme::invalidatePart):
22524 (WebCore::ScrollbarTheme::shouldCenterOnThumb):
22525 (WebCore::ScrollbarTheme::centerOnThumb):
22526 (WebCore::ScrollbarTheme::thumbPosition):
22527 (WebCore::ScrollbarTheme::thumbLength):
22528 (WebCore::ScrollbarTheme::trackLength):
22529 (WebCore::ScrollbarTheme::initialAutoscrollTimerDelay):
22530 (WebCore::ScrollbarTheme::autoscrollTimerDelay):
22531 * platform/Widget.h:
22532 (WebCore::Widget::parent):
22533 * platform/mac/PlatformScrollBar.h:
22534 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
22535 (WebCore::PlatformScrollbar::handleMouseOutEvent):
22536 (WebCore::PlatformScrollbar::handleMousePressEvent):
22537 (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
22538 * platform/mac/WidgetMac.mm:
22539 (WebCore::Widget::convertFromContainingWindow):
22540 * platform/win/ScrollbarThemeWin.cpp:
22541 (WebCore::ScrollbarThemeWin::invalidateOnMouseEnterExit):
22542 * platform/win/ScrollbarThemeWin.h:
22543
mitz@apple.comd17dc392008-09-15 18:48:20 +0000225442008-09-15 Dan Bernstein <mitz@apple.com>
22545
22546 Reviewed by Sam Weinig.
22547
22548 - fix <rdar://problem/5842247> Single long breakable word takes O(n^2) to lay out
22549
22550 Cache the next breakable position for text nodes in InlineIterator.
22551
22552 * rendering/bidi.cpp:
22553 (WebCore::InlineIterator::InlineIterator):
22554 (WebCore::InlineIterator::increment):
22555 (WebCore::RenderBlock::findNextLineBreak):
22556
simon.fraser@apple.comda604642008-09-15 17:10:48 +0000225572008-09-15 Simon Fraser <simon.fraser@apple.com>
22558
22559 Reviewed by Dan Bernstein
22560
22561 Fix assertion and integral pixel issue when creating subimages.
22562 https://bugs.webkit.org/show_bug.cgi?id=20786
22563
22564 * platform/graphics/cg/ImageCG.cpp:
22565 (WebCore::BitmapImage::draw):
22566
vestbo@webkit.orge7eda302008-09-15 12:43:37 +0000225672008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
22568
22569 Reviewed by Simon.
22570
22571 Implment seek() and clean up and improve debugging output
22572
22573 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
22574 (debugMediaObject):
22575 (WebCore::MediaPlayerPrivate::seek):
22576 (WebCore::MediaPlayerPrivate::setVolume):
22577 (WebCore::MediaPlayerPrivate::setMuted):
22578 (WebCore::MediaPlayerPrivate::updateStates):
22579 (WebCore::MediaPlayerPrivate::naturalSize):
22580 (WebCore::MediaPlayerPrivate::paint):
22581 (WebCore::MediaPlayerPrivate::stateChanged):
22582 (WebCore::MediaPlayerPrivate::tick):
22583
vestbo@webkit.orgaba01e62008-09-15 11:40:22 +0000225842008-09-15 Holger Hans Peter Freyther <zecke@selfish.org>
22585
22586 Reviewed by Simon.
22587
22588 Remove bogus Q_ASSERTs from the MediaPlayer Phonon implementation
22589
22590 m_mediaObject, m_audioOutput, m_videoWidget get created in the
22591 c'tor and will only be deleted in the c'tor. The Q_ASSERTs would
22592 only check if we use the MediaPlayerPrivate after it has been deleted.
22593
22594 Acked-by: Tor Arne Vestbø <tavestbo@trolltech.com>
22595
22596 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
22597 (WebCore::MediaPlayerPrivate::play):
22598 (WebCore::MediaPlayerPrivate::setVolume):
22599 (WebCore::MediaPlayerPrivate::updateStates):
22600
andersca@apple.com18d62682008-09-15 11:35:22 +0000226012008-09-15 Anders Carlsson <andersca@apple.com>
22602
22603 Reviewed by Maciej.
22604
22605 <rdar://problem/6163988>
22606 https://bugs.webkit.org/show_bug.cgi?id=20457
22607 Canvas: createPattern crashes WebKit in WTF::RefPtr<WebCore::Image>::operator!() const + 9 with a 1D pattern
22608
22609 Check the width and height and throw an exception if any of them are 0.
22610
22611 * html/CanvasRenderingContext2D.cpp:
22612 (WebCore::CanvasRenderingContext2D::createPattern):
22613
vestbo@webkit.org3a27e182008-09-15 11:28:59 +0000226142008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
22615
22616 Reviewed by Simon.
22617
22618 Render media element controls with antialiasing enabled
22619
22620 * platform/qt/RenderThemeQt.cpp:
22621 (WebCore::RenderThemeQt::paintMediaMuteButton):
22622 (WebCore::RenderThemeQt::paintMediaPlayButton):
22623 (WebCore::RenderThemeQt::paintMediaSliderTrack):
22624 (WebCore::RenderThemeQt::paintMediaSliderThumb):
22625
vestbo@webkit.org17e4bfc2008-09-15 11:27:25 +0000226262008-09-15 Ariya Hidayat <ariya.hidayat@trolltech.com>
22627
22628 Reviewed by Simon.
22629
22630 Upon non fatal error, switch to the pause state (so that playback can continue)
22631
22632 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
22633 (WebCore::MediaPlayerPrivate::updateStates):
22634
vestbo@webkit.org12a59572008-09-15 11:16:13 +0000226352008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
22636
22637 Reviewed by Simon.
22638
vestbo@webkit.org1d1f05e2008-09-15 11:22:05 +000022639 Don't set WTF_USE_JSC in WebCore.pro now that it's set in config.h
22640
22641 * WebCore.pro:
22642
226432008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
22644
22645 Reviewed by Simon.
22646
vestbo@webkit.org12a59572008-09-15 11:16:13 +000022647 Make QtInstance::create() private and fix caching
22648
22649 * bindings/js/ScriptControllerQt.cpp:
22650 (WebCore::ScriptController::createScriptInstanceForWidget):
22651 * bridge/qt/qt_instance.cpp:
22652 (JSC::Bindings::QtInstance::getQtInstance):
22653 (JSC::Bindings::QtInstance::getRuntimeObject):
22654 * bridge/qt/qt_instance.h:
22655 (JSC::Bindings::QtInstance::create):
22656 * bridge/qt/qt_runtime.cpp:
22657 (JSC::Bindings::convertQVariantToValue):
22658 (JSC::Bindings::QtConnectionObject::execute):
22659
dsmith@webkit.orgaba15862008-09-15 08:45:35 +0000226602008-09-15 David Smith <catfish.man@gmail.com>
22661
22662 Reviewed by Dave Hyatt.
22663
22664 https://bugs.webkit.org/show_bug.cgi?id=20180
22665
22666 >2x speedup on querySelector[All] with :nth-child by removing the collectRulesOnly argument on SelectorChecker.
22667 With collectRulesOnly set to true (the default) an optimization is turned off, and no callers were intentionally leaving it true.
22668 querySelector[All] assumed that the default was probably the right way to go, and so ended up being slow.
22669
22670 * css/CSSStyleSelector.cpp:
22671 (WebCore::CSSStyleSelector::CSSStyleSelector):
22672 (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker):
22673 * css/CSSStyleSelector.h:
22674
hyatt@apple.com065494e2008-09-15 06:33:40 +0000226752008-09-14 Dave Hyatt <hyatt@apple.com>
22676
22677 Refactor PlatformScrollbarWin's painting so that it is now done by ScrollbarThemeWin. PlatformScrollbarSafari
22678 is still painting itself (a subsequent patch will move its painting into ScrollbarThemeSafari).
22679
22680 Reviewed by Sam Weinig
22681
22682 * platform/ScrollBar.h:
22683 (WebCore::Scrollbar::client):
22684 (WebCore::Scrollbar::currentPos):
22685 (WebCore::Scrollbar::totalSize):
22686 * platform/ScrollbarTheme.h:
22687 * platform/ScrollbarThemeComposite.cpp:
22688 (WebCore::pageForScrollView):
22689 (WebCore::ScrollbarThemeComposite::paint):
22690 * platform/ScrollbarThemeComposite.h:
22691 (WebCore::ScrollbarThemeComposite::trackIsSinglePiece):
22692 * platform/win/PlatformScrollBar.h:
22693 * platform/win/PlatformScrollBarSafari.cpp:
22694 * platform/win/PlatformScrollBarWin.cpp:
22695 * platform/win/ScrollbarThemeSafari.h:
22696 (WebCore::ScrollbarThemeSafari::hasButtons):
22697 (WebCore::ScrollbarThemeSafari::hasThumb):
22698 (WebCore::ScrollbarThemeSafari::backButtonRect):
22699 (WebCore::ScrollbarThemeSafari::forwardButtonRect):
22700 (WebCore::ScrollbarThemeSafari::trackRect):
22701 (WebCore::ScrollbarThemeSafari::splitTrack):
22702 (WebCore::ScrollbarThemeSafari::paintTrack):
22703 (WebCore::ScrollbarThemeSafari::paintButton):
22704 (WebCore::ScrollbarThemeSafari::paintThumb):
22705 * platform/win/ScrollbarThemeWin.cpp:
22706 (WebCore::isRunningOnVistaOrLater):
22707 (WebCore::checkAndInitScrollbarTheme):
22708 (WebCore::ScrollbarThemeWin::ScrollbarThemeWin):
22709 (WebCore::ScrollbarThemeWin::themeChanged):
22710 (WebCore::ScrollbarThemeWin::hasThumb):
22711 (WebCore::ScrollbarThemeWin::backButtonRect):
22712 (WebCore::ScrollbarThemeWin::forwardButtonRect):
22713 (WebCore::ScrollbarThemeWin::trackRect):
22714 (WebCore::ScrollbarThemeWin::splitTrack):
22715 (WebCore::ScrollbarThemeWin::paintTrack):
22716 (WebCore::ScrollbarThemeWin::paintButton):
22717 (WebCore::gripperRect):
22718 (WebCore::paintGripper):
22719 (WebCore::ScrollbarThemeWin::paintThumb):
22720 (WebCore::ScrollbarThemeWin::thumbPosition):
22721 (WebCore::ScrollbarThemeWin::thumbLength):
22722 (WebCore::ScrollbarThemeWin::trackLength):
22723 * platform/win/ScrollbarThemeWin.h:
22724 (WebCore::ScrollbarThemeWin::hasButtons):
22725 (WebCore::ScrollbarThemeWin::trackIsSinglePiece):
22726
timothy@apple.comd91172c2008-09-15 05:38:00 +0000227272008-09-14 Anthony Ricaud <rik24d@gmail.com>
22728
22729 Moving all resource graphs under the same container for future scalable feature.
22730 This is a speedup on resize but maybe a loss on changing the sorting function.
22731
22732 https://bugs.webkit.org/show_bug.cgi?id=20555
22733
22734 Reviewed by Timothy Hatcher.
22735
22736 * page/inspector/ResourcesPanel.js: Added a container for all resource graphs.
22737 Added WebInspector.ResourceGraph. No more _updateGraphBars on resize.
22738 * page/inspector/inspector.css: Edited corresponding rules and removed unnecessaries.
22739
ap@webkit.orga14074b2008-09-15 04:52:44 +0000227402008-09-14 Alexey Proskuryakov <ap@webkit.org>
22741
22742 Reviewed by Maciej Stachowiak.
22743
22744 https://bugs.webkit.org/show_bug.cgi?id=20738
22745 compareBoundaryPoints gives incorrect results
22746
22747 Test: fast/dom/Range/compareBoundaryPoints-2.html
22748
22749 * dom/Range.cpp: (WebCore::Range::compareBoundaryPoints): Correct meanings of START_TO_END
22750 and END_TO_START.
22751 * page/DOMSelection.cpp: (WebCore::DOMSelection::addRange): Updated for this change.
22752
mjs@apple.com285bdcf2008-09-15 02:55:16 +0000227532008-09-14 Maciej Stachowiak <mjs@apple.com>
22754
22755 Unreviewed build fix.
22756
mjs@apple.comcbb31e52008-09-15 03:10:35 +000022757 Trying again.
22758
22759 * bindings/js/JSQuarantinedObjectWrapper.cpp:
22760 (WebCore::JSQuarantinedObjectWrapper::hasInstance):
22761
227622008-09-14 Maciej Stachowiak <mjs@apple.com>
22763
22764 Unreviewed build fix.
22765
mjs@apple.com285bdcf2008-09-15 02:55:16 +000022766 Blind attempt to fix build. Correct parameters for hasInstance.
22767
22768 * bindings/js/JSQuarantinedObjectWrapper.cpp:
22769 (WebCore::JSQuarantinedObjectWrapper::hasInstance):
22770 * bindings/js/JSQuarantinedObjectWrapper.h:
22771
mitz@apple.come85f7362008-09-15 02:23:24 +0000227722008-09-14 Dan Bernstein <mitz@apple.com>
22773
22774 Rubber-stamped by Sam Weinig.
22775
22776 - revert <http://trac.webkit.org/changeset/36382> because it exposed
22777 <https://bugs.webkit.org/show_bug.cgi?id=20846> and resulted in crashes
22778 on Tiger.
22779
22780 * platform/graphics/mac/FontCacheMac.mm:
22781 (WebCore::FontCache::getFontDataForCharacters):
22782 (WebCore::FontCache::getLastResortFallbackFont):
22783
hyatt@apple.comf18feec2008-09-15 00:56:11 +0000227842008-09-14 Dave Hyatt <hyatt@apple.com>
22785
22786 Add a new ScrollbarThemeComposite base class that is shared by ScrollbarThemeSafari and
22787 ScrollbarThemeWin. Any scrollbar that wants to render by ScrollbarPart can subclass from this
22788 theme.
22789
22790 Reviewed by Sam Weinig
22791
22792 * WebCore.vcproj/WebCore.vcproj:
22793 * platform/win/ScrollbarThemeSafari.h:
22794 * platform/win/ScrollbarThemeWin.h:
22795
alp@webkit.orgd694e942008-09-15 00:20:15 +0000227962008-09-14 Alp Toker <alp@nuanti.com>
22797
22798 https://bugs.webkit.org/show_bug.cgi?id=20320
22799 [GTK] A white rectangle is visible behind widgets with rounded corners
22800
22801 Sync bundled gtk2drawing.c to the latest version from Mozilla (coding
22802 style exempt).
22803
22804 Requested by Michael Monreal.
22805
22806 * platform/gtk/RenderThemeGtk.cpp:
22807 (WebCore::RenderThemeGtk::RenderThemeGtk):
22808 * platform/gtk/gtk2drawing.c:
22809 (moz_gtk_set_widget_name):
22810 (ensure_window_widget):
22811 (setup_widget_prototype):
22812 (ensure_button_arrow_widget):
22813 (moz_gtk_get_combo_box_inner_button):
22814 (moz_gtk_get_combo_box_button_inner_widgets):
22815 (ensure_combo_box_widgets):
22816 (moz_gtk_get_combo_box_entry_inner_widgets):
22817 (moz_gtk_get_combo_box_entry_arrow):
22818 (ensure_combo_box_entry_widgets):
22819 (ensure_toolbar_widget):
22820 (ensure_tooltip_widget):
22821 (ensure_menu_bar_widget):
22822 (ensure_menu_bar_item_widget):
22823 (ensure_menu_popup_widget):
22824 (ensure_menu_item_widget):
22825 (ensure_image_menu_item_widget):
22826 (ensure_menu_separator_widget):
22827 (ensure_check_menu_item_widget):
22828 (ensure_tree_header_cell_widget):
22829 (ensure_scrolled_window_widget):
22830 (moz_gtk_button_paint):
22831 (moz_gtk_init):
22832 (moz_gtk_button_get_inner_border):
22833 (moz_gtk_toggle_paint):
22834 (calculate_button_inner_rect):
22835 (calculate_arrow_rect):
22836 (moz_gtk_scrollbar_button_paint):
22837 (moz_gtk_scrollbar_thumb_paint):
22838 (moz_gtk_caret_paint):
22839 (moz_gtk_entry_paint):
22840 (moz_gtk_treeview_paint):
22841 (moz_gtk_tree_header_cell_paint):
22842 (moz_gtk_combo_box_paint):
22843 (moz_gtk_downarrow_paint):
22844 (moz_gtk_combo_box_entry_button_paint):
22845 (moz_gtk_toolbar_paint):
22846 (moz_gtk_tab_scroll_arrow_paint):
22847 (moz_gtk_menu_bar_paint):
22848 (moz_gtk_menu_item_paint):
22849 (moz_gtk_get_widget_border):
22850 (moz_gtk_get_combo_box_entry_button_size):
22851 (moz_gtk_get_tab_scroll_arrow_size):
22852 (moz_gtk_get_downarrow_size):
22853 (moz_gtk_images_in_menus):
22854 (moz_gtk_widget_paint):
22855 (moz_gtk_shutdown):
22856 * platform/gtk/gtkdrawing.h:
22857
hyatt@apple.com3ab48302008-09-14 23:55:16 +0000228582008-09-14 David Hyatt <hyatt@apple.com>
22859
22860 Convert Mac, Gtk, wx and Qt over to the new ScrollbarTheme for
22861 painting. Mac and Gtk themes don't do anything and just let the
22862 underlying widget paint. Qt now uses the theme to paint. wx doesn't
22863 do anything yet.
22864
22865 Reviewed by Sam Weinig
22866
22867 * platform/ScrollBar.cpp:
22868 (WebCore::Scrollbar::paint):
22869 * platform/ScrollBar.h:
22870 (WebCore::Scrollbar::value):
22871 (WebCore::Scrollbar::visibleSize):
22872 (WebCore::Scrollbar::maximum):
22873 (WebCore::Scrollbar::lineStep):
22874 (WebCore::Scrollbar::pageStep):
22875 (WebCore::Scrollbar::pixelStep):
22876 (WebCore::Scrollbar::pressedPart):
22877 (WebCore::Scrollbar::hoveredPart):
22878 (WebCore::Scrollbar::theme):
22879 * platform/ScrollbarTheme.h:
22880 (WebCore::ScrollbarTheme::paint):
22881 (WebCore::ScrollbarTheme::scrollbarThickness):
22882 (WebCore::ScrollbarTheme::supportsControlTints):
22883 (WebCore::ScrollbarTheme::themeChanged):
22884 * platform/gtk/PlatformScrollBar.h:
22885 * platform/gtk/PlatformScrollBarGtk.cpp:
22886 * platform/mac/PlatformScrollBar.h:
22887 * platform/mac/PlatformScrollBarMac.mm:
22888 * platform/qt/PlatformScrollBar.h:
22889 * platform/qt/PlatformScrollBarQt.cpp:
22890 * platform/qt/ScrollbarThemeQt.cpp:
22891 (WebCore::styleOptionSlider):
22892 * platform/qt/ScrollbarThemeQt.h:
22893 (WebCore::ScrollbarThemeQt::paint):
22894 * platform/win/PlatformScrollBarSafari.cpp:
22895 (WebCore::PlatformScrollbar::paint):
22896 * platform/win/ScrollbarThemeSafari.h:
22897 (WebCore::ScrollbarThemeSafari::supportsControlTints):
22898 * platform/wx/PlatformScrollBar.h:
22899 * platform/wx/TemporaryLinkStubs.cpp:
22900 (PlatformScrollbar::~PlatformScrollbar):
22901
weinig@apple.comcb93e262008-09-14 21:36:11 +0000229022008-09-14 Sam Weinig <sam@webkit.org>
22903
weinig@apple.com6ef2b872008-09-14 22:15:28 +000022904 Qt build fix.
22905
22906 * platform/qt/PlatformScrollBarQt.cpp:
22907
229082008-09-14 Sam Weinig <sam@webkit.org>
22909
weinig@apple.com064861a2008-09-14 22:12:49 +000022910 Reviewed by Mark Rowe.
22911
22912 Remove extraneous semicolons.
22913
22914 * bindings/scripts/CodeGeneratorObjC.pm:
22915 * html/HTMLLinkElement.cpp:
22916 (WebCore::HTMLLinkElement::tokenizeRelAttribute):
22917 * html/HTMLScriptElement.cpp:
22918 (WebCore::HTMLScriptElement::charsetAttributeValue):
22919 (WebCore::HTMLScriptElement::typeAttributeValue):
22920 * platform/graphics/qt/GradientQt.cpp:
22921 (WebCore::Gradient::platformGradient):
22922 * platform/qt/ScrollViewQt.cpp:
22923 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
22924 * platform/win/ScrollViewWin.cpp:
22925 (WebCore::ScrollView::updateScrollbars):
22926 * rendering/RenderBlock.cpp:
22927 (WebCore::RenderBlock::paintEllipsisBoxes):
22928 * svg/SVGPathSegList.cpp:
22929 (WebCore::SVGPathSegList::toPathData):
22930
229312008-09-14 Sam Weinig <sam@webkit.org>
22932
weinig@apple.comcb93e262008-09-14 21:36:11 +000022933 Qt build fix.
22934
weinig@apple.com31311a62008-09-14 22:00:15 +000022935 * platform/qt/ScrollViewQt.cpp:
22936 (WebCore::ScrollView::updateScrollbars):
22937
229382008-09-14 Sam Weinig <sam@webkit.org>
22939
22940 Qt build fix.
22941
weinig@apple.comcb93e262008-09-14 21:36:11 +000022942 * platform/qt/PlatformScrollBarQt.cpp:
22943 (WebCore::PlatformScrollbar::PlatformScrollbar):
22944 (WebCore::PlatformScrollbar::paint):
22945
jmalonzo@webkit.org65e836c2008-09-14 01:57:13 +0000229462008-09-13 Jan Michael Alonzo <jmalonzo@webkit.org>
22947
22948 Gtk build fix, not reviewed.
22949
22950 * platform/gtk/PlatformScrollBarGtk.cpp:
22951 (PlatformScrollbar::PlatformScrollbar):
22952 * platform/gtk/ScrollViewGtk.cpp:
22953 (WebCore::ScrollView::updateScrollbars):
22954
hyatt@apple.comd62f5bf2008-09-14 00:32:19 +0000229552008-09-13 Dave Hyatt <hyatt@apple.com>
22956
hyatt@apple.com21ab7c62008-09-14 01:26:22 +000022957 Remove scrollbar's setRect method. Clients can now just call setFrameGeometry (the corresponding Widget) method
22958 to set the dimensions of a scrollbar.
22959
22960 Reviewed by Sam Weinig
22961
22962 * platform/ScrollBar.h:
22963 * platform/gtk/PlatformScrollBar.h:
22964 * platform/gtk/PlatformScrollBarGtk.cpp:
22965 (PlatformScrollbar::setFrameGeometry):
22966 * platform/gtk/ScrollViewGtk.cpp:
22967 (WebCore::ScrollView::updateScrollbars):
22968 * platform/mac/PlatformScrollBarMac.mm:
22969 * platform/qt/PlatformScrollBarQt.cpp:
22970 * platform/qt/ScrollViewQt.cpp:
22971 (WebCore::ScrollView::updateScrollbars):
22972 * platform/win/PlatformScrollBar.h:
22973 * platform/win/PlatformScrollBarSafari.cpp:
22974 (WebCore::PlatformScrollbar::PlatformScrollbar):
22975 (WebCore::PlatformScrollbar::setFrameGeometry):
22976 * platform/win/PlatformScrollBarWin.cpp:
22977 (WebCore::PlatformScrollbar::PlatformScrollbar):
22978 (WebCore::PlatformScrollbar::setFrameGeometry):
22979 * platform/win/PopupMenuWin.cpp:
22980 (WebCore::PopupWndProc):
22981 * platform/win/ScrollViewWin.cpp:
22982 (WebCore::ScrollView::updateScrollbars):
22983 * platform/wx/PlatformScrollBar.h:
22984 * platform/wx/TemporaryLinkStubs.cpp:
22985 (PlatformScrollbar::updateThumbProportion):
22986 * rendering/RenderLayer.cpp:
22987 (WebCore::RenderLayer::positionOverflowControls):
22988 * rendering/RenderListBox.cpp:
22989 (WebCore::RenderListBox::paintScrollbar):
22990
229912008-09-13 Dave Hyatt <hyatt@apple.com>
22992
hyatt@apple.comed9485a2008-09-14 01:06:57 +000022993 Remove setEnabled() from all Scrollbar classes that were just using their Widget base class methods.
22994
22995 Reviewed by Sam Weinig
22996
22997 * platform/ScrollBar.h:
22998 * platform/gtk/PlatformScrollBar.h:
22999 * platform/gtk/PlatformScrollBarGtk.cpp:
23000 * platform/mac/PlatformScrollBar.h:
23001 * platform/mac/PlatformScrollBarMac.mm:
23002 * platform/win/PlatformScrollBar.h:
23003 * platform/win/PlatformScrollBarSafari.cpp:
23004 * platform/win/PlatformScrollBarWin.cpp:
23005 * platform/wx/PlatformScrollBar.h:
23006 * platform/wx/TemporaryLinkStubs.cpp:
23007 (PlatformScrollbar::~PlatformScrollbar):
23008
230092008-09-13 Dave Hyatt <hyatt@apple.com>
23010
hyatt@apple.com64d98032008-09-14 00:58:29 +000023011 Remove width()/height() from Scrollbar now that it derives from Widget. Remove width()/height() from
23012 all PlatformScrollbar subclasses that just called the Widget base class versions of those methods.
23013
23014 Reviewed by Sam Weinig
23015
23016 * platform/ScrollBar.h:
23017 * platform/gtk/PlatformScrollBar.h:
23018 * platform/gtk/PlatformScrollBarGtk.cpp:
23019 * platform/mac/PlatformScrollBar.h:
23020 * platform/mac/PlatformScrollBarMac.mm:
23021 * platform/win/PlatformScrollBarSafari.cpp:
23022 * platform/win/PlatformScrollBarWin.cpp:
23023 * platform/wx/PlatformScrollBar.h:
23024 * platform/wx/TemporaryLinkStubs.cpp:
23025 (PlatformScrollbar::~PlatformScrollbar):
23026
230272008-09-13 Dave Hyatt <hyatt@apple.com>
23028
hyatt@apple.comd62f5bf2008-09-14 00:32:19 +000023029 Move stopTimerIfNeeded out of PlatformScrollbar destructors and into Scrollbar.
23030
23031 Reviewed by Sam Weinig
23032
23033 * platform/ScrollBar.cpp:
23034 (WebCore::Scrollbar::~Scrollbar):
23035 * platform/ScrollBar.h:
23036 * platform/qt/PlatformScrollBarQt.cpp:
23037 (WebCore::PlatformScrollbar::~PlatformScrollbar):
23038 * platform/win/PlatformScrollBarSafari.cpp:
23039 (WebCore::PlatformScrollbar::~PlatformScrollbar):
23040 * platform/win/PlatformScrollBarWin.cpp:
23041 (WebCore::PlatformScrollbar::~PlatformScrollbar):
23042
hyatt@apple.coma3c52492008-09-13 23:57:08 +0000230432008-09-13 David Hyatt <hyatt@apple.com>
23044
23045 Move maximum() from Qt's PlatformScrollbar to be a cross-platform
23046 function on Scrollbar. Fixes Qt build bustage.
23047
23048 Reviewed by Sam Weinig
23049
23050 * platform/ScrollBar.h:
23051 (WebCore::Scrollbar::orientation):
23052 (WebCore::Scrollbar::value):
23053 (WebCore::Scrollbar::maximum):
23054 * platform/qt/PlatformScrollBar.h:
23055
mitz@apple.comb3d22882008-09-13 23:06:59 +0000230562008-09-13 Dan Bernstein <mitz@apple.com>
23057
23058 Reviewed by Sam Weinig.
23059
23060 - use the LastResort font for missing glyphs instead of showing the
23061 primary font's missing glyph
23062
23063 Test: platform/mac/fast/text/last-resort-font.html
23064
23065 * platform/graphics/mac/FontCacheMac.mm:
23066 (WebCore::FontCache::getFontDataForCharacters): Changed to return the
23067 last resort font if a substitute font cannot be found.
23068 (WebCore::FontCache::getLastResortFallbackFont): Removed an outdated
23069 comment (the user's preferred standard font is included in the search
23070 thanks to code in FontCache::getFontData()) and changed to return the
23071 LastResort font.
23072
hyatt@apple.com0c378c72008-09-13 22:59:05 +0000230732008-09-13 Dave Hyatt <hyatt@apple.com>
23074
23075 This patch adds ScrollbarTheme to the build. ScrollbarTheme is similar to RenderTheme (but for
23076 scrollbars only). For now ScrollbarTheme just handles returning the size of scrollbars. Subsequent
23077 patches will move rendering and hit testing functionality into this class.
23078
23079 Implemented ScrollbarTheme subclasses for four ports (Mac, Win, Gtk, Qt). The wxWidgets port does not
23080 implement scrollbars yet, so I added a temporary link stub to keep things compiling on wx.
23081
23082 Reviewed by Sam Weinig
23083
23084 * GNUmakefile.am:
23085 * WebCore.pro:
23086 * WebCore.vcproj/WebCore.vcproj:
23087 * platform/ScrollBar.cpp:
23088 (WebCore::Scrollbar::Scrollbar):
23089 * platform/ScrollBar.h:
23090 * platform/ScrollbarTheme.h: Added.
23091 (WebCore::ScrollbarTheme::~ScrollbarTheme):
23092 (WebCore::ScrollbarTheme::scrollbarThickness):
23093 (WebCore::ScrollbarTheme::themeChanged):
23094 * platform/gtk/ScrollbarThemeGtk.cpp: Added.
23095 (WebCore::ScrollbarTheme::nativeTheme):
23096 (WebCore::ScrollbarThemeGtk::~ScrollbarThemeGtk):
23097 (WebCore::ScrollbarThemeGtk::scrollbarThickness):
23098 * platform/gtk/ScrollbarThemeGtk.h: Added.
23099 * platform/mac/PlatformScrollBar.h:
23100 * platform/mac/ScrollbarThemeMac.cpp: Added.
23101 (WebCore::ScrollbarTheme::nativeTheme):
23102 (WebCore::):
23103 (WebCore::ScrollbarThemeMac::~ScrollbarThemeMac):
23104 (WebCore::ScrollbarThemeMac::scrollbarThickness):
23105 * platform/mac/ScrollbarThemeMac.h: Added.
23106 * platform/qt/PlatformScrollBarQt.cpp:
23107 * platform/qt/ScrollbarThemeQt.cpp: Added.
23108 (WebCore::ScrollbarTheme::nativeTheme):
23109 (WebCore::ScrollbarThemeQt::~ScrollbarThemeQt):
23110 (WebCore::ScrollbarThemeQt::scrollbarThickness):
23111 * platform/qt/ScrollbarThemeQt.h: Added.
23112 * platform/win/PlatformScrollBar.h:
23113 * platform/win/PlatformScrollBarSafari.cpp:
23114 * platform/win/PlatformScrollBarWin.cpp:
23115 * platform/win/PopupMenuWin.cpp:
23116 (WebCore::PopupMenu::calculatePositionAndSize):
23117 * platform/win/ScrollViewWin.cpp:
23118 (WebCore::ScrollView::updateScrollbars):
23119 (WebCore::ScrollView::themeChanged):
23120 * platform/win/ScrollbarThemeSafari.cpp: Added.
23121 (WebCore::ScrollbarTheme::nativeTheme):
23122 (WebCore::):
23123 (WebCore::ScrollbarThemeSafari::~ScrollbarThemeSafari):
23124 (WebCore::ScrollbarThemeSafari::scrollbarThickness):
23125 * platform/win/ScrollbarThemeSafari.h: Added.
23126 * platform/win/ScrollbarThemeWin.cpp: Added.
23127 (WebCore::ScrollbarTheme::nativeTheme):
23128 (WebCore::ScrollbarThemeWin::~ScrollbarThemeWin):
23129 (WebCore::ScrollbarThemeWin::scrollbarThickness):
23130 (WebCore::ScrollbarThemeWin::themeChanged):
23131 * platform/win/ScrollbarThemeWin.h: Added.
23132 * platform/wx/TemporaryLinkStubs.cpp:
23133 (ScrollbarTheme::nativeTheme):
23134 * rendering/RenderLayer.cpp:
23135 (WebCore::scrollCornerRect):
23136 * rendering/RenderTextControl.cpp:
23137 (WebCore::RenderTextControl::calcHeight):
23138 (WebCore::RenderTextControl::calcPrefWidths):
23139
cfleizach@apple.comd26c2762008-09-13 21:05:18 +0000231402008-09-13 Chris Fleizach <cfleizach@apple.com>
23141
23142 Reviewed by Timothy Hatcher.
23143
23144 <rdar://problem/5060439> Web elements should have an AXTopLevelUIElement
23145
23146 * page/mac/AccessibilityObjectWrapper.mm:
23147 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
23148
mitz@apple.com6307c9f2008-09-13 20:27:37 +0000231492008-09-13 Dan Bernstein <mitz@apple.com>
23150
23151 Reviewed by Timothy Hatcher.
23152
23153 - fix <rdar://problem/6171280> REGRESSION (r35667): Assertion failure in WebCore::FrameView::scheduleRelayout() when releasing a page with counters from the b/f cache
23154
23155 No regression test because the back/forward cache is disabled in DumpRenderTree
23156
23157 * rendering/RenderContainer.cpp:
23158 (WebCore::RenderContainer::invalidateCounters): Bail out if the document
23159 is being destroyed.
23160
kevino@webkit.org1e178ee2008-09-13 18:48:39 +0000231612008-09-13 Kevin Ollivier <kevino@theolliviers.com>
23162
23163 wx build fixes for new methods recently introduced.
23164
23165 * platform/graphics/wx/AffineTransformWx.cpp:
23166 (WebCore::AffineTransform::AffineTransform):
23167 (WebCore::AffineTransform::setMatrix):
23168 (WebCore::AffineTransform::setA):
23169 (WebCore::AffineTransform::setB):
23170 (WebCore::AffineTransform::setC):
23171 (WebCore::AffineTransform::setD):
23172 (WebCore::AffineTransform::setE):
23173 (WebCore::AffineTransform::setF):
23174 * platform/wx/LocalizedStringsWx.cpp:
23175 (WebCore::AXDefinitionListTermText):
23176 (WebCore::AXDefinitionListDefinitionText):
23177
hyatt@apple.com30ed5442008-09-13 18:39:58 +0000231782008-09-12 Dave Hyatt <hyatt@apple.com>
23179
23180 Move the member variables of PlatformScrollbar up into Scrollbar. Move autoscroll timer handling
23181 up into scrollbar. Make sure a bunch of cross-platform code now just uses "Scrollbar" instead of
23182 "PlatformScrollbar."
23183
23184 Reviewed by Sam Weinig
23185
23186 * WebCore.vcproj/WebCore.vcproj:
23187 * editing/EditorCommand.cpp:
23188 * page/EventHandler.cpp:
23189 (WebCore::EventHandler::selectCursor):
23190 (WebCore::EventHandler::handleMousePressEvent):
23191 (WebCore::EventHandler::handleMouseMoveEvent):
23192 * page/EventHandler.h:
23193 * page/MouseEventWithHitTestResults.cpp:
23194 (WebCore::MouseEventWithHitTestResults::scrollbar):
23195 * page/MouseEventWithHitTestResults.h:
23196 * page/gtk/EventHandlerGtk.cpp:
23197 (WebCore::EventHandler::passMousePressEventToScrollbar):
23198 * page/mac/EventHandlerMac.mm:
23199 (WebCore::EventHandler::passMousePressEventToScrollbar):
23200 * page/qt/EventHandlerQt.cpp:
23201 (WebCore::EventHandler::passMousePressEventToScrollbar):
23202 * page/win/EventHandlerWin.cpp:
23203 (WebCore::EventHandler::passMousePressEventToScrollbar):
23204 * page/wx/EventHandlerWx.cpp:
23205 (WebCore::EventHandler::passMousePressEventToScrollbar):
23206 * platform/PopupMenu.h:
23207 * platform/ScrollBar.cpp:
23208 (WebCore::Scrollbar::Scrollbar):
23209 (WebCore::Scrollbar::autoscrollTimerFired):
23210 (WebCore::Scrollbar::autoscrollPressedPart):
23211 (WebCore::Scrollbar::startTimerIfNeeded):
23212 (WebCore::Scrollbar::stopTimerIfNeeded):
23213 (WebCore::Scrollbar::pressedPartScrollDirection):
23214 (WebCore::Scrollbar::pressedPartScrollGranularity):
23215 * platform/ScrollBar.h:
23216 (WebCore::Scrollbar::handleMousePressEvent):
23217 (WebCore::Scrollbar::invalidatePart):
23218 (WebCore::Scrollbar::thumbUnderMouse):
23219 * platform/ScrollView.h:
23220 * platform/ScrollbarClient.h: Added.
23221 (WebCore::ScrollbarClient::~ScrollbarClient):
23222 * platform/gtk/ScrollViewGtk.cpp:
23223 (WebCore::ScrollView::scrollbarUnderMouse):
23224 * platform/qt/PlatformScrollBar.h:
23225 * platform/qt/PlatformScrollBarQt.cpp:
23226 (WebCore::PlatformScrollbar::PlatformScrollbar):
23227 (WebCore::scrollbarPart):
23228 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
23229 (WebCore::PlatformScrollbar::handleMouseOutEvent):
23230 (WebCore::PlatformScrollbar::handleMousePressEvent):
23231 (WebCore::PlatformScrollbar::handleMouseReleaseEvent):
23232 * platform/qt/ScrollViewQt.cpp:
23233 (WebCore::ScrollView::scrollbarUnderMouse):
23234 (WebCore::ScrollView::wheelEvent):
23235 * platform/win/PlatformScrollBar.h:
23236 * platform/win/PlatformScrollBarSafari.cpp:
23237 (WebCore::PlatformScrollbar::PlatformScrollbar):
23238 * platform/win/PlatformScrollBarWin.cpp:
23239 (WebCore::PlatformScrollbar::PlatformScrollbar):
23240 * platform/win/ScrollViewWin.cpp:
23241 (WebCore::ScrollView::scrollbarUnderMouse):
23242 * rendering/HitTestResult.cpp:
23243 (WebCore::HitTestResult::setScrollbar):
23244 * rendering/HitTestResult.h:
23245 (WebCore::HitTestResult::scrollbar):
23246 * rendering/RenderLayer.cpp:
23247 (WebCore::RenderLayer::hitTestOverflowControls):
23248 * rendering/RenderLayer.h:
23249 * rendering/RenderListBox.h:
23250
sfalken@apple.comb4e407e2008-09-13 02:59:00 +0000232512008-09-12 Steve Falkenburg <sfalken@apple.com>
23252
23253 Fix Mac build.
23254
23255 * css/CSSStyleSelector.cpp:
23256 (WebCore::getTransformOperationType):
23257
dino@apple.comf937dc62008-09-13 00:45:39 +0000232582008-09-12 Chris Marrin <cmarrin@apple.com>
23259
23260 Reviewed by Dave Hyatt.
23261
23262 Make transform animation behavior match spec
23263 https://bugs.webkit.org/show_bug.cgi?id=20770
23264
23265 Tests: transitions/transform-op-list-match.html
23266 transitions/transform-op-list-no-match.html
23267
23268 * css/CSSStyleSelector.cpp:
23269 * css/CSSStyleSelector.h:
23270 * page/animation/AnimationBase.cpp:
23271 * page/animation/AnimationBase.h:
23272 * page/animation/ImplicitAnimation.cpp:
23273 * page/animation/ImplicitAnimation.h:
23274 * page/animation/KeyframeAnimation.cpp:
23275 * page/animation/KeyframeAnimation.h:
23276 * rendering/RenderLayer.cpp:
23277 * rendering/style/RenderStyle.cpp:
23278 * rendering/style/RenderStyle.h:
23279
timothy@apple.comab374dd2008-09-12 22:43:38 +0000232802008-09-12 Ojan Vafai <ojan@chromium.org>
23281
23282 Properly escape contents of links added to the inspector.
23283 For now, just build the link with the DOM and get the
23284 outerHTML. Eventually, we probably just want to do
23285 this entirely with the DOM.
23286
23287 Reviewed by Timothy Hatcher.
23288
23289 https://bugs.webkit.org/show_bug.cgi?id=20684
23290
23291 * manual-tests/inspector/escape-links.html: Added.
23292 * page/inspector/StylesSidebarPane.js:
23293 * page/inspector/inspector.js:
23294 * page/inspector/utilities.js:
23295
adele@apple.com87fb3c72008-09-12 22:14:13 +0000232962008-09-12 Adele Peterson <adele@apple.com>
23297
23298 Reviewed by John Sullivan and Kevin McCullough.
23299
23300 Fix for <rdar://problem/6216951> REGRESSION (r36000?): Crash due to infinite recursion into EventHandler::hitTestResultAtPoint() with disconnected frames
23301
23302 * page/EventHandler.cpp: (WebCore::EventHandler::hitTestResultAtPoint):
23303 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
23304 cause infinite recursion. This change checks that we're not already on the main frame before hit testing again.
23305
kmccullough@apple.combdba2e32008-09-12 22:08:56 +0000233062008-09-12 Kevin McCullough <kmccullough@apple.com>
23307
23308 RS by Tim .
23309
23310 Re-introducing the code since it was not the cause of the crash.
23311 See r36343.
23312
23313 * rendering/RenderObject.cpp:
23314 (WebCore::RenderObject::canBeProgramaticallyScrolled):
23315 * rendering/RenderObject.h:
23316
dino@apple.comf712ed02008-09-12 21:54:57 +0000233172008-09-12 Chris Marrin <cmarrin@apple.com>
23318
23319 Reviewed by Dave Hyatt.
23320
23321 When changing one animation in a list, don't reset other animations
23322 https://bugs.webkit.org/show_bug.cgi?id=20675
23323
23324 Test: animations/change-one-anim.html
23325
23326 * page/animation/AnimationBase.cpp:
23327 (WebCore::AnimationBase::getNumProperties):
23328 * page/animation/AnimationBase.h:
23329 * page/animation/AnimationController.cpp:
23330 * page/animation/CompositeAnimation.cpp:
23331 (WebCore::CompositeAnimation::updateKeyframeAnimations):
23332 * page/animation/CompositeAnimation.h:
23333 * page/animation/ImplicitAnimation.cpp:
23334 * page/animation/KeyframeAnimation.cpp:
23335 * page/animation/KeyframeAnimation.h:
23336 (WebCore::KeyframeAnimation::setIndex):
23337
beidson@apple.com521e2b52008-09-12 18:40:03 +0000233382008-09-12 Brady Eidson <beidson@apple.com>
23339
23340 Reviewed by Mitz Pettel
23341
23342 Fix the ASSERT and failure in webarchive/archive-empty-frame-source.html
23343
23344 * loader/DocumentLoader.cpp:
23345 (WebCore::DocumentLoader::mainResource): Further restoration of original WebArchive behavior.
23346 Subresources can never be created from nil data, but there is always a MainResource, whether
23347 or not there's any data. So in the case where the main resource has no data, fake it for the
23348 sake of creating the ArchiveResource.
23349
hyatt@apple.com818ffe92008-09-12 18:37:23 +0000233502008-09-12 Dave Hyatt <hyatt@apple.com>
23351
23352 Preparation for major scrollbar rearchitecture. Eliminate the concept of non-widget based
23353 scrollbars (which we never supported anyway). Make Scrollbar derive from Widget directly.
23354 Remove all the isWidget and hasPlatformScrollbars guards.
23355
23356 Reviewed by Tim Hatcher
23357
23358 * platform/ScrollBar.h:
23359 * platform/gtk/PlatformScrollBar.h:
23360 * platform/mac/PlatformScrollBar.h:
23361 * platform/qt/PlatformScrollBar.h:
23362 * platform/win/PlatformScrollBar.h:
23363 * platform/win/ScrollViewWin.cpp:
23364 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar):
23365 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar):
23366 * platform/wx/PlatformScrollBar.h:
23367 * rendering/RenderLayer.cpp:
23368 (WebCore::RenderLayer::horizontalScrollbarWidget):
23369 (WebCore::RenderLayer::verticalScrollbarWidget):
23370 (WebCore::RenderLayer::createScrollbar):
23371 (WebCore::RenderLayer::destroyScrollbar):
23372 * rendering/RenderListBox.cpp:
23373 (WebCore::RenderListBox::~RenderListBox):
23374 (WebCore::RenderListBox::updateFromElement):
23375 (WebCore::RenderListBox::isPointInOverflowControl):
23376
mitz@apple.com0bef1302008-09-12 18:22:07 +0000233772008-09-12 Dan Bernstein <mitz@apple.com>
23378
23379 Reviewed by Sam Weinig.
23380
23381 - https://bugs.webkit.org/show_bug.cgi?id=20793 clean up page/animation
23382
23383 * page/animation/AnimationController.cpp:
23384 * page/animation/AnimationController.h:
23385 * page/animation/CompositeAnimation.cpp:
23386 * page/animation/CompositeAnimation.h:
23387 * page/animation/ImplicitAnimation.cpp:
23388 * page/animation/ImplicitAnimation.h:
23389 * page/animation/KeyframeAnimation.cpp:
23390 * page/animation/KeyframeAnimation.h:
23391
timothy@apple.com43203432008-09-12 04:44:40 +0000233922008-09-11 Timothy Hatcher <timothy@apple.com>
23393
23394 Add a renderedImage method to DOMNode to get an image
23395 of the rendering for the node and it's descendants.
23396
23397 <rdar://problem/5849349> Would like API to create
23398 an image for a DOM node
23399
23400 Reviewed by Oliver Hunt.
23401
23402 * bindings/objc/DOM.mm:
23403 (-[DOMNode renderedImage]): Call Frame::nodeImage.
23404 * bindings/objc/DOMPrivate.h:
23405 * page/Frame.h:
23406 * page/mac/FrameMac.mm:
23407 (WebCore::Frame::nodeImage):
23408
dino@apple.com9300a0b2008-09-12 00:36:31 +0000234092008-09-08 Chris Marrin <cmarrin@apple.com>
23410
23411 Reviewed by Dave Hyatt
23412
23413 Need to support comma separated list of key times in keyframes selectors
23414 https://bugs.webkit.org/show_bug.cgi?id=20680
23415
23416 Test: animations/keyframes-comma-separated.html
23417
23418 * css/CSSGrammar.y:
23419 * css/CSSParser.cpp:
23420 (WebCore::CSSParser::createKeyframeRule):
23421 * css/CSSParser.h:
23422 * css/CSSStyleSelector.cpp:
23423 (WebCore::CSSStyleSelector::addKeyframeStyle):
23424 * css/WebKitCSSKeyframeRule.cpp:
23425 (WebCore::WebKitCSSKeyframeRule::WebKitCSSKeyframeRule):
23426 (WebCore::WebKitCSSKeyframeRule::cssText):
23427 (WebCore::WebKitCSSKeyframeRule::parseKeyString):
23428 * css/WebKitCSSKeyframeRule.h:
23429 (WebCore::WebKitCSSKeyframeRule::keyText):
23430 (WebCore::WebKitCSSKeyframeRule::setKeyText):
23431 (WebCore::WebKitCSSKeyframeRule::getKeys):
23432 * css/WebKitCSSKeyframesRule.cpp:
23433 (WebCore::WebKitCSSKeyframesRule::append):
23434 (WebCore::WebKitCSSKeyframesRule::insertRule):
23435 (WebCore::WebKitCSSKeyframesRule::deleteRule):
23436 (WebCore::WebKitCSSKeyframesRule::findRule):
23437 (WebCore::WebKitCSSKeyframesRule::findRuleIndex):
23438 * css/WebKitCSSKeyframesRule.h:
23439 * page/animation/AnimationBase.cpp:
23440 (WebCore::AnimationBase::blendProperties):
23441
kmccullough@apple.com0f9f23a2008-09-11 22:57:09 +0000234422008-09-11 Kevin McCullough <kmccullough@apple.com>
23443
23444 RS by Tim.
23445
23446 Reverting because this caused a crash.
23447
23448 * rendering/RenderObject.cpp:
23449 (WebCore::RenderObject::canBeProgramaticallyScrolled):
23450 (WebCore::RenderObject::hasScrollableView):
23451 * rendering/RenderObject.h:
23452
dino@apple.com19853b32008-09-11 21:59:08 +0000234532008-09-11 Dean Jackson <dino@apple.com>
23454
23455 Reviewed by Dan Bernstein.
23456
23457 Fix assertion on transition property "none"
23458 https://bugs.webkit.org/show_bug.cgi?id=20751
23459
23460 Test: transitions/transition-end-event-set-none.html
23461
23462 * page/animation/CompositeAnimation.cpp:
23463 (WebCore::CompositeAnimation::updateTransitions):
23464
dsmith@webkit.orge6ea48f2008-09-11 21:41:33 +0000234652008-09-11 David Smith <catfish.man@gmail.com>
23466
dsmith@webkit.org08103d92008-09-11 21:54:30 +000023467 Rubber-stamped by mitzpettel.
23468
23469 Remove an accidentally added extra file.
23470
23471 * WebCore: Removed.
23472
234732008-09-11 David Smith <catfish.man@gmail.com>
23474
dsmith@webkit.orge6ea48f2008-09-11 21:41:33 +000023475 Reviewed by Darin
23476
23477 https://bugs.webkit.org/show_bug.cgi?id=20180
23478
23479 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.
23480
23481 * WebCore.xcodeproj/project.pbxproj: Add NodeRenderStyle.h
23482 * css/CSSStyleSelector.cpp: include NodeRenderStyle.h
23483 * dom/Element.cpp: include NodeRenderStyle.h
23484 * dom/Node.cpp: Remove the definition of renderStyle()
23485 (WebCore::Node::nonRendererRenderStyle):
23486 * dom/Node.h: Make renderStyle() nonvirtual and add nonRendererRenderStyle()
23487 * dom/NodeRenderStyle.h: Added.
23488 (WebCore::Node::renderStyle): Inline the common case of this, call nonRendererRenderStyle for the part that needed to be virtual
23489 * html/HTMLOptGroupElement.cpp: include NodeRenderStyle.h
23490 * html/HTMLOptGroupElement.h:
23491 (WebCore::HTMLOptGroupElement::nonRendererRenderStyle): override to return m_style
23492 * html/HTMLOptionElement.cpp: include NodeRenderStyle.h
23493 * html/HTMLOptionElement.h:
23494 (WebCore::HTMLOptionElement::nonRendererRenderStyle): override to return m_style
23495 * rendering/RenderListBox.cpp: include NodeRenderStyle.h
23496 * rendering/RenderMenuList.cpp: include NodeRenderStyle.h
23497 * svg/SVGUseElement.cpp: include NodeRenderStyle.h
23498
kmccullough@apple.com38d3b0f2008-09-11 17:39:12 +0000234992008-09-11 Kevin McCullough <kmccullough@apple.com>
23500
23501 Reviewed by Adele and Tim.
23502
23503 <rdar://problem/6100597> REGRESSION: clicking on search results in Web
23504 Inspector does not scroll to the line of the results (20167)
23505 - This was put in by Max to fix auto scrolling but is not correct for
23506 the whole web: rdar://problem/6213098
23507
23508 * rendering/RenderObject.cpp:
23509 (WebCore::RenderObject::canBeProgramaticallyScrolled):
23510 * rendering/RenderObject.h:
23511
cfleizach@apple.com6a3b1452008-09-11 16:24:09 +0000235122008-09-11 Chris Fleizach <cfleizach@apple.com>
23513
23514 Reviewed by Beth Dakin
23515
23516 <rdar://problem/6210511> AX: if a frame has a title, that should be reported as the AXWebArea's title
23517
23518 Test: accessibility/frame-with-title.html
23519
23520 * page/AccessibilityRenderObject.cpp:
23521 (WebCore::AccessibilityRenderObject::accessibilityDescription):
23522
hausmann@webkit.orge8f8ffd2008-09-11 07:34:42 +0000235232008-09-11 Dirk Schulze <vbs85@gmx.de>
23524
23525 Reviewed by Simon.
23526
hausmann@webkit.orgea57c432008-09-11 08:03:07 +000023527 Fixed stroke() and strokeRect() to support gradients
23528 and patterns on Qt.
23529
23530 [Qt] Canvas stroke don't work for gradients and patterns
23531 [https://bugs.webkit.org/show_bug.cgi?id=20749]
23532
23533 * platform/graphics/qt/GraphicsContextQt.cpp:
23534 (WebCore::GraphicsContext::strokePath):
23535 (WebCore::GraphicsContext::strokeRect):
23536
235372008-09-11 Dirk Schulze <vbs85@gmx.de>
23538
23539 Reviewed by Simon.
23540
hausmann@webkit.orgc11e3b72008-09-11 07:37:42 +000023541 https://bugs.webkit.org/show_bug.cgi?id=20729
23542
23543 Fixed canvas gradients for Qt
23544
23545 [Qt] Canvas gradients don't work as expected
23546 [https://bugs.webkit.org/show_bug.cgi?id=20729]
23547
23548 * platform/graphics/qt/GradientQt.cpp:
23549 (WebCore::Gradient::platformGradient):
23550
235512008-09-11 Dirk Schulze <vbs85@gmx.de>
23552
23553 Reviewed by Simon.
23554
hausmann@webkit.orge8f8ffd2008-09-11 07:34:42 +000023555 https://bugs.webkit.org/show_bug.cgi?id=20568
23556
23557 Add support for patterns to Qt.
23558
23559 * platform/graphics/qt/PatternQt.cpp:
23560 (WebCore::Pattern::createPlatformPattern):
23561
mitz@apple.com442c5892008-09-10 18:21:14 +0000235622008-09-10 Dan Bernstein <mitz@apple.com>
23563
23564 Reviewed by Sam Weinig.
23565
23566 - clean up AnimationBase
23567
23568 * page/animation/AnimationBase.cpp:
23569 * page/animation/AnimationBase.h:
23570 * page/animation/CompositeAnimation.cpp:
23571 * page/animation/ImplicitAnimation.cpp:
23572 * page/animation/ImplicitAnimation.h:
23573 * page/animation/KeyframeAnimation.cpp:
23574 * page/animation/KeyframeAnimation.h:
23575
ap@webkit.orgbaf12872008-09-10 16:42:10 +0000235762008-09-10 Alexey Proskuryakov <ap@webkit.org>
23577
23578 Reviewed by Darin Adler.
23579
23580 https://bugs.webkit.org/show_bug.cgi?id=20741
23581 REGRESSION: ISO-8859-8-I encoding is registered incorrectly
23582
23583 Turns out that there were no real behavior changes for 8859-8, as it was only a debug-only
23584 check to ignore this specific registration that was failing. Yet, I decided to add a bunch of
23585 tests for ISO-8859-8 encoding aliases, as we handle them in a quite complicated manner.
23586
23587 I also found and fixed a potential crasher for non-Mac ports.
23588
23589 Tests: fast/encoding/hebrew/8859-8-e.html
23590 fast/encoding/hebrew/8859-8-i.html
23591 fast/encoding/hebrew/8859-8.html
23592 fast/encoding/hebrew/csISO88598I.html
23593 fast/encoding/hebrew/hebrew.html
23594 fast/encoding/hebrew/iso-ir-138.html
23595 fast/encoding/hebrew/logical.html
23596
23597 * platform/text/TextEncodingRegistry.cpp: (WebCore::checkExistingName): Check for iso-8859-8
23598 (case-insensitively, because different versions of ICU report this MIME name in different
23599 case).
23600
23601 * platform/text/TextCodecICU.cpp:
23602 (WebCore::TextCodecICU::registerExtendedEncodingNames): Updated some comments.
23603 (WebCore::TextCodecICU::registerExtendedCodecs): Try both MIME and IANA names here, too.
23604 There are four names in ICU that only have MIME names (x-mac-* ones), so we could end up
23605 with an encoding map entry, but no codec for these. This was not an issue on the Mac, as
23606 we also support these via TEC (which we should stop doing), but on Windows, this would
23607 likely crash.
23608
hyatt@apple.com0197e6b2008-09-10 05:29:46 +0000236092008-09-09 Dave Hyatt <hyatt@apple.com
23610
23611 Resurrect PlatformScrollbarWin.
23612
23613 Reviewed by Adam Roben
23614
23615 * WebCore.vcproj/WebCore.vcproj:
23616 * platform/win/PlatformScrollBarWin.cpp:
23617 (WebCore::isRunningOnVistaOrLater):
23618 (WebCore::checkAndInitScrollbarTheme):
23619 (WebCore::PlatformScrollbar::PlatformScrollbar):
23620 (WebCore::PlatformScrollbar::invalidateTrack):
23621 (WebCore::PlatformScrollbar::invalidatePart):
23622 (WebCore::PlatformScrollbar::paint):
23623 (WebCore::PlatformScrollbar::hasButtons):
23624 (WebCore::PlatformScrollbar::hasThumb):
23625 (WebCore::PlatformScrollbar::backButtonRect):
23626 (WebCore::PlatformScrollbar::forwardButtonRect):
23627 (WebCore::PlatformScrollbar::trackRect):
23628 (WebCore::PlatformScrollbar::gripperRect):
23629 (WebCore::PlatformScrollbar::thumbLength):
23630 (WebCore::PlatformScrollbar::paintButton):
23631 (WebCore::PlatformScrollbar::paintTrack):
23632 (WebCore::PlatformScrollbar::paintThumb):
23633 (WebCore::PlatformScrollbar::paintGripper):
23634 (WebCore::PlatformScrollbar::hitTest):
23635 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
23636 (WebCore::PlatformScrollbar::handleMouseOutEvent):
23637 (WebCore::PlatformScrollbar::themeChanged):
23638
cwzwarich@webkit.org8a334572008-09-10 03:22:04 +0000236392008-09-09 Cameron Zwarich <cwzwarich@uwaterloo.ca>
23640
23641 Reviewed by Maciej Stachowiak.
23642
23643 Bug 20759: Remove MacroAssembler
23644 <https://bugs.webkit.org/show_bug.cgi?id=20759>
23645
23646 Make the necessary changes to ForwardingHeaders to remove
23647 MacroAssembler.
23648
23649 * ForwardingHeaders/masm/IA32MacroAsm.h: Removed.
23650 * ForwardingHeaders/masm/MacroAssembler.h: Removed.
23651 * ForwardingHeaders/masm/X86Assembler.h: Added.
23652
alp@webkit.org509e3d42008-09-10 01:26:20 +0000236532008-09-09 Alp Toker <alp@nuanti.com>
23654
23655 Reviewed by Dave Hyatt.
23656
23657 https://bugs.webkit.org/show_bug.cgi?id=16792
23658 [GTK] Fails to render Japanese/Chinese text with simple path
23659
23660 https://bugs.webkit.org/show_bug.cgi?id=16942
23661 [GTK] Oddities in font selection and fall back
23662
23663 https://bugs.webkit.org/show_bug.cgi?id=16862
23664 [GTK] Custom fonts hard-coded to use grayscale antialiasing and no hinting
23665
23666 GTK+ font fixes and enhancements.
23667
23668 Implement font fallback for the simple FontConfig-based text path and
23669 improve the Pango-based complex text path to make use of requested
23670 font properties and available font selection.
23671
23672 Add text shadow support to the complex path.
23673
23674 * platform/graphics/gtk/FontCacheGtk.cpp:
23675 (WebCore::FontCache::getFontDataForCharacters):
23676 (WebCore::FontCache::getSimilarFontPlatformData):
23677 * platform/graphics/gtk/FontGtk.cpp:
23678 (WebCore::setPangoAttributes):
23679 (WebCore::Font::drawComplexText):
23680 (WebCore::getDefaultPangoLayout):
23681 (WebCore::Font::floatWidthForComplexText):
23682 (WebCore::Font::offsetForPositionForComplexText):
23683 (WebCore::Font::selectionRectForComplexText):
23684 * platform/graphics/gtk/FontPlatformData.h:
23685 (WebCore::FontPlatformData::FontPlatformData):
23686 (WebCore::FontPlatformData::hash):
23687 * platform/graphics/gtk/FontPlatformDataGtk.cpp:
23688 (WebCore::FontPlatformData::FontPlatformData):
23689 * platform/graphics/gtk/SimpleFontDataGtk.cpp:
23690 (WebCore::SimpleFontData::platformDestroy):
23691
hyatt@apple.com33f37f62008-09-09 23:51:46 +0000236922008-09-09 Dave Hyatt <hyatt@apple.com>
23693
23694 Make the Windows classic case work again. Overlap in slider constants and other constants broke
23695 the push state for buttons and checkboxes. Make sure to check the RenderObject's appearance
23696 value to make sure it's really a slider thumb to resolve this conflict.
23697
23698 Reviewed by Adam Roben
23699
23700 * rendering/RenderThemeWin.cpp:
23701 (WebCore::drawControl):
23702
dino@apple.com442d0652008-09-09 23:36:56 +0000237032008-09-05 Chris Marrin <cmarrin@apple.com>
23704
23705 Reviewed by Sam Weinig.
23706
23707 Need to handle the case when 0% or 100% keyframe is omitted
23708 https://bugs.webkit.org/show_bug.cgi?id=20679
23709
23710 Tests: animations/keyframes-from-missing.html
23711 animations/keyframes-to-missing.html
23712
23713 * css/CSSStyleSelector.cpp:
23714 (WebCore::CSSStyleSelector::addKeyframeStyle):
23715
hyatt@apple.com419d0ad2008-09-09 23:11:14 +0000237162008-09-09 Dave Hyatt <hyatt@apple.com>
23717
23718 Resurrect Safari's original RenderThemeWin and bring it up to date with ToT. Having a current
23719 RenderThemeWin that does not have any Skia dependencies should provide a good basis for a potential
23720 merge of Google Chrome's RenderThemeWin (to help us see where the Skia stuff can be cut and to see
23721 what changes have been made as compared with the old RenderThemeWin).
23722
23723 Fix CSS2 system fonts to properly set both the rendering mode (so that they properly pick up GDI vs. CG
23724 text rendering modes) and the printer font setting (so that OS X system fonts properly pick up screen
23725 vs. printer advancement rounding).
23726
23727 Reviewed by Adam/Sam
23728
23729 * css/CSSStyleSelector.cpp:
23730 (WebCore::CSSStyleSelector::applyProperty):
23731 * platform/graphics/Icon.h:
23732 (WebCore::Icon::create):
23733 * rendering/RenderThemeWin.cpp:
23734 (WebCore::RenderThemeWin::RenderThemeWin):
23735 (WebCore::RenderThemeWin::~RenderThemeWin):
23736 (WebCore::RenderThemeWin::buttonTheme):
23737 (WebCore::RenderThemeWin::textFieldTheme):
23738 (WebCore::RenderThemeWin::menuListTheme):
23739 (WebCore::RenderThemeWin::sliderTheme):
23740 (WebCore::RenderThemeWin::close):
23741 (WebCore::RenderThemeWin::themeChanged):
23742 (WebCore::RenderThemeWin::supportsHover):
23743 (WebCore::fillFontDescription):
23744 (WebCore::RenderThemeWin::systemFont):
23745 (WebCore::RenderThemeWin::supportsFocus):
23746 (WebCore::RenderThemeWin::determineClassicState):
23747 (WebCore::RenderThemeWin::determineState):
23748 (WebCore::RenderThemeWin::determineSliderThumbState):
23749 (WebCore::RenderThemeWin::getClassicThemeData):
23750 (WebCore::RenderThemeWin::getThemeData):
23751 (WebCore::drawControl):
23752 (WebCore::RenderThemeWin::paintButton):
23753 (WebCore::RenderThemeWin::paintTextField):
23754 (WebCore::RenderThemeWin::paintMenuList):
23755 (WebCore::RenderThemeWin::adjustMenuListStyle):
23756 (WebCore::RenderThemeWin::adjustMenuListButtonStyle):
23757 (WebCore::RenderThemeWin::paintMenuListButton):
23758 (WebCore::RenderThemeWin::paintSliderTrack):
23759 (WebCore::RenderThemeWin::paintSliderThumb):
23760 (WebCore::RenderThemeWin::adjustSliderThumbSize):
23761 (WebCore::RenderThemeWin::paintSearchField):
23762 (WebCore::RenderThemeWin::adjustSearchFieldStyle):
23763 (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
23764 (WebCore::RenderThemeWin::adjustSearchFieldCancelButtonStyle):
23765 (WebCore::RenderThemeWin::adjustSearchFieldDecorationStyle):
23766 (WebCore::RenderThemeWin::adjustSearchFieldResultsDecorationStyle):
23767 (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
23768 (WebCore::RenderThemeWin::adjustSearchFieldResultsButtonStyle):
23769 (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
23770 * rendering/RenderThemeWin.h:
23771 (WebCore::ThemeData::ThemeData):
23772 (WebCore::RenderThemeWin::paintSearchFieldDecoration):
23773 (WebCore::RenderThemeWin::adjustButtonStyle):
23774 (WebCore::RenderThemeWin::adjustTextFieldStyle):
23775 (WebCore::RenderThemeWin::adjustTextAreaStyle):
23776
dino@apple.comd511ce52008-09-09 19:50:25 +0000237772008-09-09 Dean Jackson <dino@apple.com>
23778
23779 Reviewed by Sam Weinig.
23780
23781 Document::createEvent missing cases for animation and
23782 transition events.
23783 https://bugs.webkit.org/show_bug.cgi?id=20734
23784
23785 Test: transitions/transition-end-event-create.html
23786 Test: animations/animation-events-create.html
23787
23788 * dom/Document.cpp:
23789 (WebCore::Document::createEvent):
23790 - add the two cases
23791
mitz@apple.com1da7b882008-09-09 18:12:06 +0000237922008-09-09 Dan Bernstein <mitz@apple.com>
23793
mitz@apple.com54921562008-09-09 18:48:34 +000023794 - Tiger build fix
23795
23796 * WebCore.Tiger.exp:
23797 * WebCore.base.exp:
23798 * platform/mac/WebCoreSystemInterface.h:
23799 * platform/mac/WebCoreSystemInterface.mm:
23800
238012008-09-09 Dan Bernstein <mitz@apple.com>
23802
mitz@apple.com1da7b882008-09-09 18:12:06 +000023803 Reviewed by Darin Adler.
23804
23805 - WebCore part of <rdar://problem/6206244> Use alternate character-to-glyph interface on Leopard
23806
23807 * WebCore.Tiger.exp:
23808 * WebCore.base.exp:
23809 * platform/graphics/SimpleFontData.h:
23810 * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
23811 (WebCore::GlyphPage::fill):
23812 * platform/graphics/mac/SimpleFontDataMac.mm:
23813 (WebCore::initFontData):
23814 (WebCore::SimpleFontData::platformInit):
23815 (WebCore::SimpleFontData::platformDestroy):
23816 * platform/mac/WebCoreSystemInterface.h:
23817 * platform/mac/WebCoreSystemInterface.mm:
23818
kmccullough@apple.com5ba965b2008-09-09 16:40:31 +0000238192008-09-09 Kevin McCullough <kmccullough@apple.com>
23820
23821 Reviewed by Tim.
23822
23823 <rdar://problem/6198545> REGRESSION: Inspector debugger barfs on
23824 breakpoints inside eval.
23825
23826 * page/inspector/inspector.js:
23827
hausmann@webkit.orgdab0e872008-09-09 14:17:21 +0000238282008-09-09 Joerg Bornemann <joerg.bornemann@trolltech.com>
23829
23830 Reviewed by Simon.
23831
23832 Fix compilation of the Qt port with disabled plugins on Windows
23833
23834 * WebCore.pro:
23835 * plugins/PluginView.cpp:
23836 (WebCore::PluginView::PluginView):
23837 * plugins/PluginView.h:
23838
ap@webkit.org2ba74d32008-09-09 08:11:01 +0000238392008-09-09 Jungshik Shin <jungshik.shin@gmail.com>
23840
23841 Reviewed by Alexey Proskuryakov.
23842
23843 Try MIME charset names before trying IANA names
23844 ( https://bugs.webkit.org/show_bug.cgi?id=17537 )
23845
23846 With this change, shorter and more widely used names (preferred MIME
23847 names) are returned by document.charset, document.characterSet,
23848 document.inputEncoding rather than IANA names. This helps
23849 fixing bug 18085 in addition to web developers who are more familiar
23850 with MIME names. For instance, EUC-JP, ISO-8859-X and US-ASCII will be
23851 returned instead of Extended_UNIX_Code_Packed_Format_for_Japanese,
23852 ISO-8859-X:19xx, and ANSI_X3.4-1968. It also replaces IBM8xx with cp8xx.
23853 Note that cp/IBM 8xx are extremly rare in today's web. Even if they're
23854 used, the former is still recognized as aliases to the latter so that
23855 there's very little, if any, to worry about.
23856
23857 * platform/text/TextCodecICU.cpp:
23858 (WebCore::TextCodecICU::registerExtendedEncodingNames):
23859
weinig@apple.com22294302008-09-09 06:55:39 +0000238602008-09-08 Sam Weinig <sam@webkit.org>
23861
23862 Reviewed by Maciej Stachowiak and Oliver Hunt.
23863
23864 Add forwarding headers.
23865
23866 * ForwardingHeaders/wtf/HashFunctions.h: Added.
23867
dino@apple.comd9962af2008-09-09 01:02:00 +0000238682008-09-05 Dean Jackson <dino@apple.com>
23869
23870 Reviewed by Dan Bernstein.
23871
23872 Update grammar so that we can add a keyframe rule via the DOM.
23873 https://bugs.webkit.org/show_bug.cgi?id=20613
23874
23875 * css/CSSGrammar.y:
23876 * css/tokenizer.flex:
23877
antti@apple.com4b17a932008-09-09 00:40:45 +0000238782008-09-08 Antti Koivisto <antti@apple.com>
23879
23880 Reviewed by Dan Bernstein.
23881
23882 Allow <br> for simple UA stylesheet. Editing code generates them. It does not
23883 actually show up in any of the default stylesheets.
23884
23885 * css/CSSStyleSelector.cpp:
23886 (WebCore::elementCanUseSimpleDefaultStyle):
23887
mitz@apple.com66fa91a2008-09-09 00:35:22 +0000238882008-09-08 Dimitri Glazkov <dglazkov@google.com>
23889
23890 Reviewed by Dan Bernstein.
23891
23892 - fix https://bugs.webkit.org/show_bug.cgi?id=20237
23893 Zero width and space characters are displayed incorrectly if not contained in a fallback font
23894
23895 Adds an extra check for Object Replacement Character (U+FFFC) to address
23896 the issue with fast/text/zero-width-characters.html test when run
23897 with Windows system default fonts.
23898
23899 * platform/graphics/Font.h:
23900 (WebCore::Font::treatAsZeroWidthSpace):
23901
dino@apple.comf0a4b212008-09-08 22:51:49 +0000239022008-09-08 Dean Jackson <dino@apple.com>
23903
23904 Reviewed by Sam Weinig.
23905
23906 Code style issue I forgot to fix from previous commit.
23907
23908 * platform/graphics/AffineTransform.cpp:
23909 (WebCore::AffineTransform::blend):
23910
dino@apple.com26625122008-09-08 22:46:41 +0000239112008-09-08 Chris Marrin <cmarrin@apple.com>
23912
23913 Reviewed by Sam Weinig
23914
23915 - Animation of -webkit-transform matrix() function should not do linear interpolation
23916 https://bugs.webkit.org/show_bug.cgi?id=20667
23917
23918 Test: animations/matrix-anim.html
23919
23920 * ChangeLog:
23921 * platform/graphics/AffineTransform.cpp:
23922 (WebCore::affineTransformDecompose):
23923 (WebCore::affineTransformCompose):
23924 (WebCore::AffineTransform::blend):
23925 * platform/graphics/AffineTransform.h:
23926 * rendering/style/RenderStyle.cpp:
23927 (WebCore::MatrixTransformOperation::blend):
23928
ap@webkit.org243a9752008-09-08 16:21:16 +0000239292008-09-08 Alexey Proskuryakov <ap@webkit.org>
23930
23931 Reviewed by Darin Adler.
23932
23933 https://bugs.webkit.org/show_bug.cgi?id=20668
23934 multipart/form-data does not always include Content-type for submitted files
23935
23936 Cannot be tested with DRT or manual tests.
23937
23938 * platform/MIMETypeRegistry.cpp:
23939 (WebCore::initializeSupportedNonImageMimeTypes): Fix spacing.
23940 (WebCore::MIMETypeRegistry::getMIMETypeForPath): Default to application/octet-stream for
23941 unknown extensions, not just missing ones.
23942
hausmann@webkit.orgaf796ea2008-09-08 13:00:19 +0000239432008-09-08 Simon Hausmann <hausmann@webkit.org>
23944
23945 Build fix for the Qt/Windows build, define USE_JSC to
23946 enable the WebCore::String -> JSC::UString operator that
23947 MSVC insists on seeing
23948
23949 * WebCore.pro:
23950
andersca@apple.com3ac4f552008-09-08 11:39:34 +0000239512008-09-08 Anders Carlsson <andersca@apple.com>
23952
23953 Reviewed by Maciej.
23954
23955 <rdar://problem/5850387> Showing bookmarks reloads Google Reader instead.
23956
23957 In some cases, timeouts scheduled by a page in the onunload handler could fire even when the
23958 page had been unloaded and replaced by a non-HTML representation based view (such as the bookmarks view).
23959
23960 Fix this by clearing timeouts for pages that aren't cached when the provisional load is committed.
23961
23962 * bindings/js/JSDOMWindowBase.h:
23963 * loader/FrameLoader.cpp:
23964 (WebCore::FrameLoader::commitProvisionalLoad):
23965
antti@apple.com57b3a102008-09-08 07:01:36 +0000239662008-09-07 Antti Koivisto <antti@apple.com>
23967
23968 Reviewed by Dave Hyatt.
23969
23970 Don't leak the simple stylesheet.
23971 Also call RenderTheme::adjustDefaultStyleSheet() in right place.
23972
23973 * css/CSSStyleSelector.cpp:
23974 (WebCore::loadFullDefaultStyle):
23975 (WebCore::loadSimpleDefaultStyle):
23976 (WebCore::CSSStyleSelector::styleForElement):
23977
cwzwarich@webkit.org3f782f62008-09-08 01:28:33 +0000239782008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>
23979
cwzwarich@webkit.org951b1452008-09-08 04:25:32 +000023980 Reviewed by Oliver Hunt.
23981
23982 Bug 20711: Change KJS prefix on preprocessor macros to JSC
23983 <https://bugs.webkit.org/show_bug.cgi?id=20711>
23984
23985 * bindings/js/JSEventTargetBase.h:
23986 * bindings/js/JSHTMLInputElementBase.cpp:
23987 * bindings/js/JSHTMLInputElementBase.h:
23988 * bindings/scripts/CodeGeneratorJS.pm:
23989
239902008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>
23991
cwzwarich@webkit.org3f782f62008-09-08 01:28:33 +000023992 Reviewed by Maciej Stachowiak.
23993
23994 Bug 20704: Replace the KJS namespace
23995 <https://bugs.webkit.org/show_bug.cgi?id=20704>
23996
23997 Rename the KJS namespace to JSC. There are still some uses of KJS in the
23998 names of JNI functions, and I will check if these are safe to change
23999 as well.
24000
24001 * WebCore.base.exp:
24002 * bindings/js/GCController.cpp:
24003 * bindings/js/JSAttrCustom.cpp:
24004 * bindings/js/JSAudioConstructor.cpp:
24005 * bindings/js/JSAudioConstructor.h:
24006 (WebCore::JSAudioConstructor::classInfo):
24007 * bindings/js/JSCSSRuleCustom.cpp:
24008 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
24009 * bindings/js/JSCSSValueCustom.cpp:
24010 * bindings/js/JSCanvasPixelArrayCustom.cpp:
24011 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
24012 * bindings/js/JSClipboardCustom.cpp:
24013 * bindings/js/JSConsoleCustom.cpp:
24014 * bindings/js/JSCustomSQLStatementCallback.cpp:
24015 (WebCore::JSCustomSQLStatementCallback::handleEvent):
24016 * bindings/js/JSCustomSQLStatementCallback.h:
24017 (WebCore::JSCustomSQLStatementCallback::create):
24018 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
24019 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
24020 * bindings/js/JSCustomSQLStatementErrorCallback.h:
24021 (WebCore::JSCustomSQLStatementErrorCallback::create):
24022 * bindings/js/JSCustomSQLTransactionCallback.cpp:
24023 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
24024 * bindings/js/JSCustomSQLTransactionCallback.h:
24025 (WebCore::JSCustomSQLTransactionCallback::create):
24026 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
24027 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
24028 * bindings/js/JSCustomSQLTransactionErrorCallback.h:
24029 (WebCore::JSCustomSQLTransactionErrorCallback::create):
24030 * bindings/js/JSCustomVoidCallback.cpp:
24031 (WebCore::JSCustomVoidCallback::handleEvent):
24032 * bindings/js/JSCustomVoidCallback.h:
24033 (WebCore::JSCustomVoidCallback::create):
24034 * bindings/js/JSCustomXPathNSResolver.cpp:
24035 (WebCore::JSCustomXPathNSResolver::create):
24036 * bindings/js/JSCustomXPathNSResolver.h:
24037 * bindings/js/JSDOMApplicationCacheCustom.cpp:
24038 (WebCore::JSDOMApplicationCache::dispatchEvent):
24039 * bindings/js/JSDOMBinding.cpp:
24040 (WebCore::jsOwnedStringOrNull):
24041 * bindings/js/JSDOMBinding.h:
24042 (WebCore::DOMObject::DOMObject):
24043 (WebCore::cacheDOMObject):
24044 (WebCore::cacheSVGDOMObject):
24045 (WebCore::DOMExceptionTranslator::DOMExceptionTranslator):
24046 (WebCore::toJS):
24047 * bindings/js/JSDOMWindowBase.cpp:
24048 * bindings/js/JSDOMWindowBase.h:
24049 (WebCore::JSDOMWindowBase::classInfo):
24050 (WebCore::JSDOMWindowBase::d):
24051 * bindings/js/JSDOMWindowCustom.cpp:
24052 (WebCore::JSDOMWindow::getPropertyAttributes):
24053 * bindings/js/JSDOMWindowCustom.h:
24054 (WebCore::asJSDOMWindow):
24055 (WebCore::JSDOMWindow::customGetOwnPropertySlot):
24056 (WebCore::JSDOMWindow::customPut):
24057 (WebCore::JSDOMWindowBase::allowsAccessFrom):
24058 (WebCore::JSDOMWindowBase::allowsAccessFromNoErrorMessage):
24059 * bindings/js/JSDOMWindowShell.cpp:
24060 (WebCore::JSDOMWindowShell::getPropertyAttributes):
24061 * bindings/js/JSDOMWindowShell.h:
24062 (WebCore::JSDOMWindowShell::classInfo):
24063 * bindings/js/JSDatabaseCustom.cpp:
24064 * bindings/js/JSDocumentCustom.cpp:
24065 * bindings/js/JSDocumentFragmentCustom.cpp:
24066 * bindings/js/JSElementCustom.cpp:
24067 * bindings/js/JSEventCustom.cpp:
24068 * bindings/js/JSEventListener.cpp:
24069 * bindings/js/JSEventListener.h:
24070 (WebCore::JSUnprotectedEventListener::create):
24071 (WebCore::JSEventListener::create):
24072 * bindings/js/JSEventTargetBase.cpp:
24073 * bindings/js/JSEventTargetBase.h:
24074 (WebCore::JSEventTargetBase::getValueProperty):
24075 (WebCore::JSEventTargetBase::putValueProperty):
24076 (WebCore::JSEventTargetBase::getOwnPropertySlot):
24077 (WebCore::JSEventTargetBase::put):
24078 (WebCore::JSEventTargetPrototype::JSEventTargetPrototype):
24079 (WebCore::JSEventTargetPrototype::self):
24080 (WebCore::JSEventTargetPrototype::getOwnPropertySlot):
24081 (WebCore::JSEventTargetPrototype::classInfo):
24082 * bindings/js/JSEventTargetNode.cpp:
24083 * bindings/js/JSEventTargetNode.h:
24084 (WebCore::JSEventTargetNode::getOwnPropertySlot):
24085 (WebCore::JSEventTargetNode::getValueProperty):
24086 (WebCore::JSEventTargetNode::put):
24087 (WebCore::JSEventTargetNode::putValueProperty):
24088 * bindings/js/JSHTMLAllCollection.h:
24089 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
24090 (WebCore::JSHTMLAllCollection::toBoolean):
24091 * bindings/js/JSHTMLAppletElementCustom.cpp:
24092 * bindings/js/JSHTMLCollectionCustom.cpp:
24093 * bindings/js/JSHTMLDocumentCustom.cpp:
24094 * bindings/js/JSHTMLElementCustom.cpp:
24095 * bindings/js/JSHTMLEmbedElementCustom.cpp:
24096 * bindings/js/JSHTMLFormElementCustom.cpp:
24097 * bindings/js/JSHTMLFrameElementCustom.cpp:
24098 * bindings/js/JSHTMLFrameSetElementCustom.cpp:
24099 * bindings/js/JSHTMLIFrameElementCustom.cpp:
24100 * bindings/js/JSHTMLInputElementBase.cpp:
24101 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase):
24102 (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
24103 * bindings/js/JSHTMLInputElementBase.h:
24104 (WebCore::JSHTMLInputElementBase::classInfo):
24105 * bindings/js/JSHTMLObjectElementCustom.cpp:
24106 * bindings/js/JSHTMLOptionElementConstructor.cpp:
24107 * bindings/js/JSHTMLOptionElementConstructor.h:
24108 (WebCore::JSHTMLOptionElementConstructor::classInfo):
24109 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
24110 * bindings/js/JSHTMLSelectElementCustom.cpp:
24111 (WebCore::selectIndexSetter):
24112 (WebCore::JSHTMLSelectElement::indexSetter):
24113 * bindings/js/JSHTMLSelectElementCustom.h:
24114 * bindings/js/JSHistoryCustom.cpp:
24115 * bindings/js/JSImageConstructor.cpp:
24116 * bindings/js/JSImageConstructor.h:
24117 (WebCore::JSImageConstructor::classInfo):
24118 * bindings/js/JSInspectedObjectWrapper.cpp:
24119 * bindings/js/JSInspectedObjectWrapper.h:
24120 (WebCore::JSInspectedObjectWrapper::wrapOutgoingValue):
24121 (WebCore::JSInspectedObjectWrapper::classInfo):
24122 * bindings/js/JSInspectorCallbackWrapper.cpp:
24123 * bindings/js/JSInspectorCallbackWrapper.h:
24124 (WebCore::JSInspectorCallbackWrapper::classInfo):
24125 (WebCore::JSInspectorCallbackWrapper::wrapOutgoingValue):
24126 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
24127 * bindings/js/JSLocationCustom.cpp:
24128 * bindings/js/JSMimeTypeArrayCustom.cpp:
24129 * bindings/js/JSNSResolver.cpp:
24130 * bindings/js/JSNSResolver.h:
24131 (WebCore::JSNSResolver::create):
24132 * bindings/js/JSNamedNodeMapCustom.cpp:
24133 * bindings/js/JSNamedNodesCollection.cpp:
24134 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
24135 * bindings/js/JSNamedNodesCollection.h:
24136 (WebCore::JSNamedNodesCollection::classInfo):
24137 * bindings/js/JSNavigatorCustom.cpp:
24138 * bindings/js/JSNodeCustom.cpp:
24139 * bindings/js/JSNodeFilterCondition.cpp:
24140 (WebCore::JSNodeFilterCondition::acceptNode):
24141 * bindings/js/JSNodeFilterCondition.h:
24142 (WebCore::JSNodeFilterCondition::create):
24143 * bindings/js/JSNodeFilterCustom.cpp:
24144 * bindings/js/JSNodeIteratorCustom.cpp:
24145 * bindings/js/JSNodeListCustom.cpp:
24146 * bindings/js/JSPluginArrayCustom.cpp:
24147 * bindings/js/JSPluginCustom.cpp:
24148 * bindings/js/JSPluginElementFunctions.cpp:
24149 (WebCore::getRuntimeObject):
24150 * bindings/js/JSPluginElementFunctions.h:
24151 * bindings/js/JSQuarantinedObjectWrapper.cpp:
24152 (WebCore::JSQuarantinedObjectWrapper::construct):
24153 (WebCore::JSQuarantinedObjectWrapper::call):
24154 * bindings/js/JSQuarantinedObjectWrapper.h:
24155 (WebCore::JSQuarantinedObjectWrapper::unwrappedObject):
24156 (WebCore::JSQuarantinedObjectWrapper::unwrappedGlobalObject):
24157 (WebCore::JSQuarantinedObjectWrapper::className):
24158 * bindings/js/JSRGBColor.cpp:
24159 * bindings/js/JSRGBColor.h:
24160 (WebCore::JSRGBColor::classInfo):
24161 * bindings/js/JSSQLResultSetRowListCustom.cpp:
24162 * bindings/js/JSSQLTransactionCustom.cpp:
24163 * bindings/js/JSSVGLazyEventListener.cpp:
24164 * bindings/js/JSSVGLazyEventListener.h:
24165 * bindings/js/JSSVGLengthCustom.cpp:
24166 * bindings/js/JSSVGMatrixCustom.cpp:
24167 (WebCore::JSSVGMatrix::inverse):
24168 (WebCore::JSSVGMatrix::rotateFromVector):
24169 * bindings/js/JSSVGPathSegCustom.cpp:
24170 * bindings/js/JSSVGPathSegListCustom.cpp:
24171 (WebCore::JSSVGPathSegList::initialize):
24172 (WebCore::JSSVGPathSegList::getItem):
24173 (WebCore::JSSVGPathSegList::insertItemBefore):
24174 (WebCore::JSSVGPathSegList::replaceItem):
24175 (WebCore::JSSVGPathSegList::removeItem):
24176 (WebCore::JSSVGPathSegList::appendItem):
24177 * bindings/js/JSSVGPointListCustom.cpp:
24178 * bindings/js/JSSVGTransformListCustom.cpp:
24179 * bindings/js/JSStorageCustom.cpp:
24180 * bindings/js/JSStyleSheetCustom.cpp:
24181 * bindings/js/JSStyleSheetListCustom.cpp:
24182 * bindings/js/JSTextCustom.cpp:
24183 * bindings/js/JSTreeWalkerCustom.cpp:
24184 * bindings/js/JSXMLHttpRequestConstructor.cpp:
24185 * bindings/js/JSXMLHttpRequestConstructor.h:
24186 (WebCore::JSXMLHttpRequestConstructor::classInfo):
24187 * bindings/js/JSXMLHttpRequestCustom.cpp:
24188 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
24189 * bindings/js/JSXSLTProcessorConstructor.cpp:
24190 * bindings/js/JSXSLTProcessorConstructor.h:
24191 (WebCore::JSXSLTProcessorConstructor::classInfo):
24192 * bindings/js/JSXSLTProcessorCustom.cpp:
24193 * bindings/js/ScheduledAction.cpp:
24194 * bindings/js/ScheduledAction.h:
24195 * bindings/js/ScriptController.cpp:
24196 (WebCore::ScriptController::attachDebugger):
24197 (WebCore::ScriptController::windowScriptNPObject):
24198 * bindings/js/ScriptController.h:
24199 * bindings/js/ScriptControllerGtk.cpp:
24200 (WebCore::ScriptController::createScriptInstanceForWidget):
24201 * bindings/js/ScriptControllerMac.mm:
24202 (WebCore::ScriptController::createScriptInstanceForWidget):
24203 (WebCore::ScriptController::windowScriptObject):
24204 (WebCore::ScriptController::clearPlatformScriptObjects):
24205 (WebCore::updateRenderingForBindings):
24206 (WebCore::ScriptController::initJavaJSBindings):
24207 * bindings/js/ScriptControllerQt.cpp:
24208 (WebCore::ScriptController::createScriptInstanceForWidget):
24209 * bindings/js/ScriptControllerWin.cpp:
24210 (WebCore::ScriptController::createScriptInstanceForWidget):
24211 * bindings/js/ScriptControllerWx.cpp:
24212 (WebCore::ScriptController::createScriptInstanceForWidget):
24213 * bindings/js/StringSourceProvider.h:
24214 (WebCore::StringSourceProvider::getRange):
24215 * bindings/objc/DOM.mm:
24216 (-[DOMNode JSC::Bindings::]):
24217 * bindings/objc/DOMInternal.h:
24218 * bindings/objc/DOMInternal.mm:
24219 (-[WebScriptObject _initializeScriptDOMNodeImp]):
24220 * bindings/objc/DOMUtility.mm:
24221 (JSC::createDOMWrapper):
24222 (WebCore::createDOMWrapper):
24223 * bindings/objc/WebScriptObject.mm:
24224 (WebCore::createJSWrapper):
24225 (-[WebScriptObject _initWithJSObject:JSC::originRootObject:JSC::Bindings::rootObject:JSC::Bindings::]):
24226 * bindings/objc/WebScriptObjectPrivate.h:
24227 * bindings/scripts/CodeGeneratorJS.pm:
24228 * bridge/NP_jsobject.cpp:
24229 * bridge/NP_jsobject.h:
24230 * bridge/c/c_class.cpp:
24231 * bridge/c/c_class.h:
24232 * bridge/c/c_instance.cpp:
24233 * bridge/c/c_instance.h:
24234 * bridge/c/c_runtime.cpp:
24235 * bridge/c/c_runtime.h:
24236 * bridge/c/c_utility.cpp:
24237 * bridge/c/c_utility.h:
24238 * bridge/jni/jni_class.cpp:
24239 * bridge/jni/jni_class.h:
24240 * bridge/jni/jni_instance.cpp:
24241 * bridge/jni/jni_instance.h:
24242 * bridge/jni/jni_jsobject.h:
24243 * bridge/jni/jni_jsobject.mm:
24244 (JavaJSObject::call):
24245 (JavaJSObject::convertJObjectToValue):
24246 * bridge/jni/jni_objc.mm:
24247 (JSC::Bindings::dispatchJNICall):
24248 * bridge/jni/jni_runtime.cpp:
24249 * bridge/jni/jni_runtime.h:
24250 * bridge/jni/jni_utility.cpp:
24251 * bridge/jni/jni_utility.h:
24252 * bridge/npruntime.cpp:
24253 (_NPN_GetStringIdentifier):
24254 * bridge/objc/WebScriptObject.h:
24255 * bridge/objc/objc_class.h:
24256 * bridge/objc/objc_class.mm:
24257 * bridge/objc/objc_instance.h:
24258 * bridge/objc/objc_instance.mm:
24259 * bridge/objc/objc_runtime.h:
24260 * bridge/objc/objc_runtime.mm:
24261 * bridge/objc/objc_utility.h:
24262 * bridge/objc/objc_utility.mm:
24263 * bridge/qt/qt_class.cpp:
24264 * bridge/qt/qt_class.h:
24265 * bridge/qt/qt_instance.cpp:
24266 * bridge/qt/qt_instance.h:
24267 * bridge/qt/qt_runtime.cpp:
24268 (JSC::Bindings::convertQVariantToValue):
24269 (JSC::Bindings::):
24270 * bridge/qt/qt_runtime.h:
24271 * bridge/runtime.cpp:
24272 * bridge/runtime.h:
24273 * bridge/runtime_array.cpp:
24274 * bridge/runtime_array.h:
24275 * bridge/runtime_method.cpp:
24276 * bridge/runtime_method.h:
24277 * bridge/runtime_object.cpp:
24278 * bridge/runtime_object.h:
24279 * bridge/runtime_root.cpp:
24280 (JSC::Bindings::RootObject::invalidate):
24281 (JSC::Bindings::RootObject::gcProtect):
24282 (JSC::Bindings::RootObject::gcUnprotect):
24283 * bridge/runtime_root.h:
24284 * bridge/testbindings.cpp:
24285 * bridge/testbindings.mm:
24286 * bridge/testqtbindings.cpp:
24287 * dom/Document.cpp:
24288 (WebCore::Document::~Document):
24289 * dom/NSResolver.h:
24290 * dom/Node.cpp:
24291 (WebCore::Node::setDocument):
24292 (WebCore::ResolveNamespaceFunctor::ResolveNamespaceFunctor):
24293 (WebCore::resolveNamespacesForSelector):
24294 (WebCore::Node::querySelector):
24295 (WebCore::Node::querySelectorAll):
24296 * dom/Node.h:
24297 * dom/NodeFilter.cpp:
24298 * dom/NodeFilter.h:
24299 * dom/NodeFilterCondition.cpp:
24300 * dom/NodeFilterCondition.h:
24301 * dom/NodeIterator.cpp:
24302 * dom/NodeIterator.h:
24303 * dom/Traversal.cpp:
24304 * dom/Traversal.h:
24305 * dom/TreeWalker.cpp:
24306 * dom/TreeWalker.h:
24307 * dom/make_names.pl:
24308 * history/CachedPage.cpp:
24309 * history/CachedPage.h:
24310 * html/HTMLPlugInElement.cpp:
24311 (WebCore::HTMLPlugInElement::getInstance):
24312 * html/HTMLPlugInElement.h:
24313 * loader/FrameLoader.cpp:
24314 * loader/FrameLoader.h:
24315 * loader/icon/IconDatabase.cpp:
24316 (WebCore::iconDatabase):
24317 * page/Console.cpp:
24318 * page/Console.h:
24319 * page/InspectorController.cpp:
24320 (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
24321 (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
24322 (WebCore::InspectorResource::setXMLHttpRequestProperties):
24323 (WebCore::InspectorResource::sourceString):
24324 (WebCore::getResourceDocumentNode):
24325 (WebCore::search):
24326 (WebCore::InspectorController::focusNode):
24327 (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
24328 (WebCore::InspectorController::addDatabaseScriptResource):
24329 (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
24330 * page/InspectorController.h:
24331 (WebCore::InspectorController::profiles):
24332 * page/JavaScriptCallFrame.cpp:
24333 (WebCore::JavaScriptCallFrame::scopeChain):
24334 * page/JavaScriptCallFrame.h:
24335 (WebCore::JavaScriptCallFrame::create):
24336 (WebCore::JavaScriptCallFrame::update):
24337 * page/JavaScriptDebugListener.h:
24338 * page/JavaScriptDebugServer.cpp:
24339 (WebCore::dispatchDidParseSource):
24340 * page/JavaScriptDebugServer.h:
24341 * page/JavaScriptProfile.cpp:
24342 * page/JavaScriptProfile.h:
24343 * page/JavaScriptProfileNode.cpp:
24344 (WebCore::getTotalTime):
24345 (WebCore::getSelfTime):
24346 (WebCore::getTotalPercent):
24347 (WebCore::getSelfPercent):
24348 (WebCore::getNumberOfCalls):
24349 (WebCore::getChildren):
24350 (WebCore::getVisible):
24351 * page/JavaScriptProfileNode.h:
24352 * page/Page.cpp:
24353 (WebCore::Page::setDebuggerForAllPages):
24354 (WebCore::Page::setDebugger):
24355 * page/Page.h:
24356 (WebCore::Page::debugger):
24357 * page/mac/FrameMac.mm:
24358 * platform/KURL.h:
24359 (WebCore::KURL::operator JSC::UString):
24360 * platform/text/AtomicString.cpp:
24361 (WebCore::AtomicString::add):
24362 (WebCore::AtomicString::find):
24363 * platform/text/AtomicString.h:
24364 (WebCore::AtomicString::AtomicString):
24365 * platform/text/PlatformString.h:
24366 * platform/text/String.cpp:
24367 (WebCore::charactersToDouble):
24368 * platform/win/BString.cpp:
24369 * platform/win/BString.h:
24370 * plugins/MimeTypeArray.h:
24371 * plugins/Plugin.h:
24372 * plugins/PluginArray.h:
24373 * plugins/PluginView.cpp:
24374 (WebCore::PluginView::start):
24375 (WebCore::PluginView::performRequest):
24376 (WebCore::PluginView::bindingInstance):
24377 * plugins/PluginView.h:
24378 * plugins/gtk/PluginViewGtk.cpp:
24379 (WebCore::PluginView::paint):
24380 (WebCore::PluginView::handleKeyboardEvent):
24381 (WebCore::PluginView::handleMouseEvent):
24382 (WebCore::PluginView::setNPWindowRect):
24383 (WebCore::PluginView::stop):
24384 (WebCore::PluginView::init):
24385 * plugins/qt/PluginViewQt.cpp:
24386 (WebCore::PluginView::setNPWindowRect):
24387 (WebCore::PluginView::stop):
24388 (WebCore::PluginView::init):
24389 * plugins/win/PluginViewWin.cpp:
24390 (WebCore::PluginView::dispatchNPEvent):
24391 (WebCore::PluginView::handleKeyboardEvent):
24392 (WebCore::PluginView::handleMouseEvent):
24393 (WebCore::PluginView::setNPWindowRect):
24394 (WebCore::PluginView::stop):
24395 * storage/Database.cpp:
24396 (WebCore::Database::Database):
24397 * xml/XMLHttpRequest.cpp:
24398 (WebCore::XMLHttpRequest::responseText):
24399 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
24400 (WebCore::XMLHttpRequest::clearResponse):
24401 (WebCore::XMLHttpRequest::dropProtection):
24402 (WebCore::XMLHttpRequest::didFinishLoading):
24403 (WebCore::XMLHttpRequest::didReceiveData):
24404 * xml/XMLHttpRequest.h:
24405
abarth@webkit.orge17b6052008-09-08 00:03:30 +0000244062008-09-07 Adam Barth <abarth@webkit.org>
24407
24408 Reviewed by Sam Weinig.
24409
24410 Adopt opener restriction on frame navigation.
24411 https://bugs.webkit.org/show_bug.cgi?id=20642
24412
24413 This restriction helps prevent an attacker from navigating top-level
24414 windows that were created by another web site.
24415
24416 Tests: http/tests/security/frameNavigation/not-opener.html
24417 http/tests/security/frameNavigation/opener.html
24418
24419 * loader/FrameLoader.cpp:
24420 (WebCore::canAccessAncestor):
24421 (WebCore::FrameLoader::shouldAllowNavigation):
24422
mitz@apple.com83469af2008-09-07 22:29:56 +0000244232008-09-07 Dan Bernstein <mitz@apple.com>
24424
mitz@apple.com08ff58c2008-09-07 23:19:11 +000024425 Reviewed by Maciej Stachowiak.
24426
24427 - use the correct sign for vertical offsets of combining marks
24428
24429 * platform/graphics/win/UniscribeController.cpp:
24430 (WebCore::UniscribeController::shapeAndPlaceItem):
24431
244322008-09-07 Dan Bernstein <mitz@apple.com>
24433
mitz@apple.com83469af2008-09-07 22:29:56 +000024434 Reviewed by Dave Hyatt.
24435
mitz@apple.com78685b22008-09-07 22:30:29 +000024436 - add the combining mark offsets in two places where I forgot them
24437
24438 * platform/graphics/win/FontCGWin.cpp:
24439 (WebCore::Font::drawGlyphs):
24440
244412008-09-07 Dan Bernstein <mitz@apple.com>
24442
24443 Reviewed by Dave Hyatt.
24444
mitz@apple.com83469af2008-09-07 22:29:56 +000024445 - correct glyph advances in complex text using web fonts rendered with
24446 Core Graphics
24447
24448 * platform/graphics/win/FontCustomPlatformData.cpp:
24449 (WebCore::FontCustomPlatformData::fontPlatformData):
24450
timothy@apple.com968ebc92008-09-07 16:48:41 +0000244512008-09-07 Keishi Hattori <casey.hattori@gmail.com>
24452
24453 Adds console.dirxml support to the Web Inspector.
24454
24455 https://bugs.webkit.org/show_bug.cgi?id=19156
24456
24457 Reviewed by Timothy Hatcher.
24458
24459 * WebCore.vcproj/WebCore.vcproj: Added ElementsTreeOutline.js.
24460 * bindings/js/JSConsoleCustom.cpp:
24461 (WebCore::JSConsole::dirxml):
24462 * page/Console.cpp:
24463 (WebCore::Console::dirxml): Adds a ConsoleMessage with NodeMessageLevel.
24464 * page/Console.h:
24465 (WebCore::): Added NodeMessageLevel.
24466 * page/Console.idl: Added console.dirxml.
24467 * page/inspector/Console.js: A NodeMessage creates a ElementsTreeOutline.
24468 * page/inspector/ElementsPanel.js: Modified to use ElementsTreeOutline. The ElementsTreeOutline
24469 in the ElementsPanel has includeRootDOMNode and selectEnabled set to true.
24470 * page/inspector/ElementsTreeOutline.js: Added.
24471 (WebInspector.ElementsTreeOutline): A subclass of TreeOutline for displaying a DOM node tree.
24472 (WebInspector.ElementsTreeElement): A subclass of TreeElement for ElementsTreeOutline.
24473 * page/inspector/WebKit.qrc: Added ElementsTreeOutline.js.
24474 * page/inspector/inspector.css:
24475 * page/inspector/inspector.html: Added ElementsTreeOutline.js.
24476 * page/inspector/inspector.js: Moved hover related methods to WebInspector.
24477 (WebInspector.altKeyDown):
24478 (WebInspector.forceHoverHighlight):
24479 (WebInspector.hoveredDOMNode):
24480 (WebInspector._updateHoverHighlightSoon):
24481 (WebInspector._updateHoverHighlight):
24482 (WebInspector.documentKeyDown): Updates WebInspector.altKeyDown
24483 (WebInspector.documentKeyUp): Updates WebInspector.altKeyDown
24484 * page/inspector/utilities.js: Added getDocumentForNode, parentNodeOrFrameElement,
24485 isAncestorIncludingParentFrames.
24486
mrowe@apple.com61ba5f52008-09-07 06:08:56 +0000244872008-09-06 Mark Rowe <mrowe@apple.com>
24488
24489 Qt build fix.
24490
24491 * bridge/qt/qt_runtime.cpp:
24492 (KJS::Bindings::convertQVariantToValue):
24493
mrowe@apple.comf88a4632008-09-07 05:44:58 +000024494=== End merge of squirrelfish-extreme ===
24495
244962008-09-05 Oliver Hunt <oliver@apple.com>
24497
24498 Start bringing up SFX on windows.
24499
24500 Reviewed by Mark Rowe and Sam Weinig
24501
24502 Start doing the work to bring up SFX on windows. Initially
24503 just working on WREC, as it does not make any calls so reduces
24504 the amount of code that needs to be corrected.
24505
24506 Add forwarding headers
24507
24508 * ChangeLog:
24509 * ForwardingHeaders/masm/MacroAssembler.h: Added.
24510 * WebCore.vcproj/WebCore.vcproj:
24511
245122008-08-27 Mark Rowe <mrowe@apple.com>
24513
24514 Reviewed by Oliver Hunt.
24515
24516 Fix the build of the full WebKit stack.
24517
24518 Add forwarding headers.
24519
24520 * ForwardingHeaders/masm/IA32MacroAsm.h: Added.
24521 * ForwardingHeaders/wrec/WREC.h: Added.
24522
24523=== Start merge of squirrelfish-extreme ===
24524
antti@apple.com13c24932008-09-07 03:54:21 +0000245252008-09-06 Antti Koivisto <antti@apple.com>
24526
24527 Reviewed by Dave Hyatt.
24528
24529 <rdar://problem/6187043>
24530 Don't parse full HTML user agent style sheet unless it is actually needed
24531 <rdar://problem/6131889>
24532 WebView is significantly more expensive to create recently
24533
24534 Parsing the html4.css takes significant amount of time and memory (~50kb) on application
24535 startup. Some clients may never use most of the rules.
24536
24537 With this patch we use simplified UA stylesheet until we hit something it can't handle.
24538 This avoids full stylesheet parsing on application startup (due to empty document construction)
24539 and also makes it possible for clients with very simple demands (divs and spans only) never to load
24540 the full style.
24541
24542 It also delays view source style parsing until it is used.
24543
24544 * css/CSSStyleSelector.cpp:
24545 (WebCore::elementCanUseSimpleDefaultStyle):
24546 (WebCore::CSSStyleSelector::CSSStyleSelector):
24547 (WebCore::loadFullDefaultStyle):
24548 (WebCore::loadSimpleDefaultStyle):
24549 (WebCore::loadViewSourceStyle):
24550 (WebCore::CSSStyleSelector::matchUARules):
24551 (WebCore::CSSStyleSelector::styleForElement):
24552
kevino@webkit.orgd15b50f2008-09-07 03:46:50 +0000245532008-09-06 Kevin Ollivier <kevino@theolliviers.com>
24554
24555 wx build fix.
24556
24557 * WebCoreSources.bkl:
24558
antti@apple.come953f862008-09-06 23:27:09 +0000245592008-09-06 Antti Koivisto <antti@apple.com>
24560
antti@apple.com00dfa532008-09-06 23:32:26 +000024561 Reverting r35953 which was causing problems on Windows which relies on
24562 WebCore timers in nested event loops. r36132 did alternative fix.
24563
24564 * page/Chrome.cpp:
24565 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
24566 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
24567
245682008-09-06 Antti Koivisto <antti@apple.com>
24569
antti@apple.come953f862008-09-06 23:27:09 +000024570 Reviewed by Dan Bernstein.
24571
24572 Fix <rdar://problem/6201644>
24573 https://bugs.webkit.org/show_bug.cgi?id=20493
24574 Crash after OK in dialog box and reloading page in secure mode
24575
24576 Limited loader only fix since the general timer fix is causing problems on Windows.
24577
24578 * loader/loader.cpp:
24579 (WebCore::Loader::servePendingRequests):
24580 (WebCore::Loader::Host::Host):
24581 (WebCore::Loader::Host::didFinishLoading):
24582 (WebCore::Loader::Host::didFail):
24583 (WebCore::Loader::Host::didReceiveData):
24584 * loader/loader.h:
24585 (WebCore::Loader::Host::processingResource):
24586
mitz@apple.com046bf642008-09-06 08:31:02 +0000245872008-09-06 Dan Bernstein <mitz@apple.com>
24588
24589 Reviewed by Dave Hyatt.
24590
mitz@apple.comc0b050b2008-09-06 22:39:34 +000024591 The initial Core Text adoption prototype was made by Daniel Fenwick.
24592
24593 - <rdar://problem/5158514> Add a Core Text-based complex text code path
24594
24595 Currently the Core Text code path is not used in any configuration.
24596
24597 * WebCore.xcodeproj/project.pbxproj: Added files.
24598 * config.h: Defined WTF_USE_ATSUI and WTF_USE_CORE_TEXT.
24599 * platform/graphics/Font.cpp:
24600 (WebCore::WidthIterator::advance): Moved the spacingDisabled() test out
24601 of the loop.
24602 * platform/graphics/GlyphBuffer.h:
24603 (WebCore::GlyphBuffer::add): Added this version that takes an advance.
24604 * platform/graphics/SimpleFontData.h: Added ATSUI and CORE_TEXT #ifdefs.
24605 Added getCTFont() and getCFStringAttributes() and corresponding data
24606 members for Core Text.
24607 * platform/graphics/mac/CoreTextController.cpp: Added.
24608 (WebCore::roundCGFloat): Helper function.
24609 (WebCore::ceilCGFloat): Helper function.
24610 (WebCore::CoreTextController::CoreTextRun::CoreTextRun):
24611 (WebCore::CoreTextController::CoreTextController):
24612 (WebCore::CoreTextController::offsetForPosition):
24613 (WebCore::CoreTextController::collectCoreTextRuns): Added. Segments the
24614 run into subruns as necessary such that each subrun can be rendered with
24615 a single font. Also separates out soft hyphens and replaces them with
24616 real hyphens, because Core Text does not emit a glyph for soft hyphens.
24617 Then calls collectCoreTextRunsForCharacters() on each subrun.
24618 (WebCore::CoreTextController::advance):
24619 (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Creates
24620 a CTLine from the given subrun and collects its CoreTextRuns.
24621 (WebCore::CoreTextController::adjustGlyphsAndAdvances): Applies the
24622 rounding hacks, letter- and word-spacing and glyph substitutions and
24623 stores the resulting adjusted glyphs and advances.
24624 * platform/graphics/mac/CoreTextController.h: Copied from WebCore/platform/graphics/win/UniscribeController.h.
24625 (WebCore::CoreTextController::totalWidth):
24626 (WebCore::CoreTextController::finalRoundingWidth):
24627 (WebCore::CoreTextController::CoreTextRun::ctRun):
24628 (WebCore::CoreTextController::CoreTextRun::glyphCount):
24629 (WebCore::CoreTextController::CoreTextRun::fontData):
24630 (WebCore::CoreTextController::CoreTextRun::characters):
24631 (WebCore::CoreTextController::CoreTextRun::stringLocation):
24632 (WebCore::CoreTextController::CoreTextRun::stringLength):
24633 (WebCore::CoreTextController::CoreTextRun::indexAt):
24634 * platform/graphics/mac/FontMac.mm: Moved the ATSUI-specific parts to
24635 FontMacATSUI.mm.
24636 * platform/graphics/mac/FontMacATSUI.mm: Copied from WebCore/platform/graphics/mac/FontMac.mm.
24637 (WebCore::disableLigatures): Changed to call
24638 FontPlatformData::allowsLigatures().
24639 (WebCore::overrideLayoutOperation): Changed to call
24640 FontPlatformData::roundsGlyphAdvances().
24641 * platform/graphics/mac/FontMacCoreText.cpp: Copied from WebCore/platform/graphics/win/FontWin.cpp.
24642 (WebCore::Font::selectionRectForComplexText): Changed to use
24643 totalWidth() instead of advancing to the end and using runWidthSoFar().
24644 (WebCore::Font::drawComplexText):
24645 (WebCore::Font::floatWidthForComplexText): Ditto.
24646 (WebCore::Font::offsetForPositionForComplexText):
24647 * platform/graphics/mac/FontPlatformData.h:
24648 * platform/graphics/mac/FontPlatformDataMac.mm:
24649 (WebCore::FontPlatformData::setFont):
24650 (WebCore::FontPlatformData::roundsGlyphAdvances): Added. Checks the
24651 AppKit rendering mode.
24652 (WebCore::FontPlatformData::allowsLigatures): Added. Implements the
24653 heuristic that allows ligatures in fonts that do not have a glyph for
24654 'a', based on the assumption that such fonts are only used in complex
24655 text.
24656 * platform/graphics/mac/SimpleFontDataMac.mm:
24657 (WebCore::SimpleFontData::platformInit):
24658 (WebCore::SimpleFontData::platformDestroy):
24659 (WebCore::SimpleFontData::getCTFont): Added.
24660 (WebCore::SimpleFontData::getCFStringAttributes): Added. Caches and
24661 returns an attributes dictionary.
24662 * platform/text/mac/ShapeArabic.c: Added ATSUI #ifdefs.
24663 * platform/text/mac/ShapeArabic.h: Ditto.
24664
246652008-09-06 Dan Bernstein <mitz@apple.com>
24666
24667 Reviewed by Dave Hyatt.
24668
mitz@apple.com046bf642008-09-06 08:31:02 +000024669 - make combining mark offsets work in CG text on Windows
24670
24671 * platform/graphics/win/FontCGWin.cpp:
24672 (WebCore::Font::drawGlyphs): The old code tried to translate the text
24673 matrix, but failed for two reasons: it did not actually change the
24674 matrix, and even if it did, CGContextSetTextPosition overwrites the
24675 translation values in the text matrix. Instead, just added the
24676 translation to the anchor point.
24677
alp@webkit.org369cdca2008-09-06 04:08:30 +0000246782008-09-05 Gustavo Noronha Silva <gns@gnome.org>
24679
24680 Reviewed by Alp Toker.
24681
24682 https://bugs.webkit.org/show_bug.cgi?id=18346
24683 [GTK] Remove build warnings
24684
24685 Applied some casts, and removed an unused typedef to make the
24686 compiler happy, printing less warnings when building.
24687
24688 * page/gtk/AccessibilityObjectWrapperAtk.cpp:
24689 * platform/graphics/gtk/SimpleFontDataPango.cpp:
24690 (WebCore::SimpleFontData::containsCharacters):
24691 * platform/graphics/gtk/VideoSinkGStreamer.cpp:
24692 (webkit_video_sink_set_caps):
24693 * platform/network/soup/ResourceHandleSoup.cpp:
24694
eric@webkit.org3cb292c2008-09-05 22:17:56 +0000246952008-09-05 Eric Seidel <eric@webkit.org>
24696
eric@webkit.org5ac37902008-09-06 00:21:58 +000024697 Reviewed by Adam Roben.
24698
24699 Build fix for WebKitWin and Chromium
24700
24701 * platform/FileSystem.h:
24702
247032008-09-05 Eric Seidel <eric@webkit.org>
24704
eric@webkit.org3cb292c2008-09-05 22:17:56 +000024705 Reviewed by Darin Adler.
24706
24707 Try to make Chromium compile with ToT:
24708 - Wrap a few places which depend on KJS:: in #if USE(JSC)
24709 - Include some windows forward declarations
24710
24711 * dom/Node.h:
24712 * page/Console.h:
24713 * page/animation/CompositeAnimation.h:
24714 * platform/FileSystem.h:
24715 * platform/graphics/Image.h:
24716 * platform/text/AtomicString.h:
24717 * platform/text/String.cpp:
24718 * rendering/style/RenderStyle.h:
24719
hyatt@apple.comff85d5e2008-09-05 21:52:08 +0000247202008-09-05 Dave Hyatt <hyatt@apple.com>
24721
24722 Add support for runtime switchability of the Aqua look and the native look on Windows.
24723 Make RenderThemeWin compile by default even when USE(SAFARI_THEME) is set.
24724
24725 Reviewed by Adam Roben
24726
24727 * WebCore.vcproj/WebCore.vcproj:
24728 * page/Settings.cpp:
24729 (WebCore::Settings::setShouldPaintNativeControls):
24730 * page/Settings.h:
24731 (WebCore::Settings::shouldPaintNativeControls):
24732 * rendering/RenderThemeSafari.cpp:
24733 (WebCore::theme):
24734 * rendering/RenderThemeWin.cpp:
24735
antti@apple.combced97f2008-09-05 18:52:05 +0000247362008-09-05 Antti Koivisto <antti@apple.com>
24737
24738 Qt build fix.
24739
24740 * svg/SVGFEImageElement.cpp:
24741 (WebCore::SVGFEImageElement::build):
24742
aroben@apple.comca0c3362008-09-05 15:33:28 +0000247432008-09-05 Dirk Schulze <vbs85@gmx.de>
24744
24745 Gtk build fix
24746
24747 * GNUmakefile.am:
24748
antti@apple.com72e4a842008-09-05 09:28:11 +0000247492008-09-05 Antti Koivisto <antti@apple.com>
24750
antti@apple.com49e46662008-09-05 10:36:59 +000024751 Another build fix.
24752
24753 * svg/SVGFEImageElement.cpp:
24754 (WebCore::SVGFEImageElement::notifyFinished):
24755
247562008-09-05 Antti Koivisto <antti@apple.com>
24757
antti@apple.comfeec2582008-09-05 10:03:39 +000024758 Build fixes.
24759
24760 * WebCore.xcodeproj/project.pbxproj:
24761 * svg/graphics/filters/SVGFEImage.cpp:
24762 (WebCore::FEImage::cachedImage):
24763
247642008-09-05 Antti Koivisto <antti@apple.com>
24765
darin@apple.com07c80c62008-09-05 18:15:43 +000024766 Reviewed by Darin Adler.
antti@apple.com72e4a842008-09-05 09:28:11 +000024767
24768 Most of the implementation for https://bugs.webkit.org/show_bug.cgi?id=17998
24769 When a resource is cached locally, WebKit should follow RFC 2616 "Specific end-to-end revalidation" instead of "Unspecified end-to-end revalidation"
24770
24771 Implement HTTP 1.1 "Specific end-to-end revalidation" for WebCore memory cache. This patch does
24772 not yet enable it for the biggest use case, reloading. However it is good for general browsing as
24773 well. Doing this in WebCore level as opposed to relying on disk cache has big benefit that
24774 we avoid re-decoding resources, especially images.
24775
24776 To be exact the enabled case is not actually the "Specific end-to-end revalidation" since it does not include
24777 CacheControl: max-age=0 header. That would be added in reload case.
24778
24779 The approach for revalidation is to kick the original resource out from the memory cache
24780 and create a new CachedResource that represents the revalidation request. In case
24781 we get 304 back for the request we put the original resource back to the cache, update
24782 its expiration date and switch the clients registered to revalidation resource to be
24783 clients of the original resource.
24784
24785 All heap allocated CachedImage pointers now use CachedResourceHandle<CachedImage> (and so on) instead.
24786 This allows updating the handles to point to the original resource when the revalidation succeeds. It
24787 also acts as refcounting smart pointer.
24788
24789 * WebCore.pro:
24790 * WebCore.vcproj/WebCore.vcproj:
24791 * WebCore.xcodeproj/project.pbxproj:
24792 * css/CSSFontFaceSource.h:
24793 * css/CSSImportRule.h:
24794 * dom/Clipboard.h:
24795 (WebCore::Clipboard::dragImage):
24796 * dom/ProcessingInstruction.h:
24797 * dom/ScriptElement.h:
24798 * dom/XMLTokenizer.cpp:
24799 (WebCore::XMLTokenizer::isWaitingForScripts):
24800 * dom/XMLTokenizer.h:
24801 * html/HTMLImageLoader.cpp:
24802 (WebCore::HTMLImageLoader::setImage):
24803 (WebCore::HTMLImageLoader::updateFromElement):
24804 (WebCore::HTMLImageLoader::notifyFinished):
24805 * html/HTMLImageLoader.h:
24806 (WebCore::HTMLImageLoader::image):
24807 * html/HTMLLinkElement.h:
24808 * html/HTMLTokenizer.cpp:
24809 (WebCore::HTMLTokenizer::reset):
24810 (WebCore::HTMLTokenizer::scriptHandler):
24811 (WebCore::HTMLTokenizer::notifyFinished):
24812 * html/HTMLTokenizer.h:
24813 * loader/Cache.cpp:
24814 (WebCore::Cache::revalidateResource):
24815 (WebCore::Cache::revalidationSucceeded):
24816 (WebCore::Cache::revalidationFailed):
24817 * loader/Cache.h:
24818 * loader/CachedResource.cpp:
24819 (WebCore::CachedResource::CachedResource):
24820 (WebCore::CachedResource::~CachedResource):
24821 (WebCore::CachedResource::isExpired):
24822 (WebCore::CachedResource::setResponse):
24823 (WebCore::CachedResource::deleteIfPossible):
24824 (WebCore::CachedResource::setResourceToRevalidate):
24825 (WebCore::CachedResource::clearResourceToRevalidate):
24826 (WebCore::CachedResource::switchClientsToRevalidatedResource):
24827 (WebCore::CachedResource::canUseCacheValidator):
24828 (WebCore::CachedResource::mustRevalidate):
24829 * loader/CachedResource.h:
24830 (WebCore::CachedResource::canDelete):
24831 (WebCore::CachedResource::registerHandle):
24832 (WebCore::CachedResource::unregisterHandle):
24833 (WebCore::CachedResource::isCacheValidator):
24834 (WebCore::CachedResource::resourceToRevalidate):
24835 (WebCore::CachedResource::setExpirationDate):
24836 * loader/CachedResourceHandle.cpp: Added.
24837 (WebCore::CachedResourceHandleBase::setResource):
24838 * loader/CachedResourceHandle.h: Added.
24839 (WebCore::CachedResourceHandleBase::~CachedResourceHandleBase):
24840 (WebCore::CachedResourceHandleBase::get):
24841 (WebCore::CachedResourceHandleBase::operator!):
24842 (WebCore::CachedResourceHandleBase::operator UnspecifiedBoolType):
24843 (WebCore::CachedResourceHandleBase::CachedResourceHandleBase):
24844 (WebCore::CachedResourceHandleBase::operator=):
24845 (WebCore::CachedResourceHandle::CachedResourceHandle):
24846 (WebCore::CachedResourceHandle::get):
24847 (WebCore::CachedResourceHandle::operator->):
24848 (WebCore::CachedResourceHandle::operator=):
24849 (WebCore::CachedResourceHandle::operator==):
24850 (WebCore::CachedResourceHandle::operator!=):
24851 (WebCore::operator==):
24852 (WebCore::operator!=):
24853 * loader/DocLoader.cpp:
24854 (WebCore::DocLoader::checkForReload):
24855 * loader/UserStyleSheetLoader.h:
24856 * loader/loader.cpp:
24857 (WebCore::Loader::Host::servePendingRequests):
24858 (WebCore::Loader::Host::didFinishLoading):
24859 (WebCore::Loader::Host::didFail):
24860 (WebCore::Loader::Host::didReceiveResponse):
24861 (WebCore::Loader::Host::didReceiveData):
24862 * page/EventHandler.cpp:
24863 (WebCore::EventHandler::selectCursor):
24864 * rendering/RenderImage.cpp:
24865 (WebCore::RenderImage::setCachedImage):
24866 (WebCore::RenderImage::imageChanged):
24867 * rendering/RenderImage.h:
24868 (WebCore::RenderImage::cachedImage):
24869 (WebCore::RenderImage::imagePtr):
24870 * rendering/style/RenderStyle.h:
24871 * rendering/style/StyleCachedImage.h:
24872 (WebCore::StyleCachedImage::data):
24873 (WebCore::StyleCachedImage::cachedImage):
24874 * svg/SVGFEImageElement.h:
24875 * svg/graphics/filters/SVGFEImage.h:
24876 * xml/XSLImportRule.h:
24877
beidson@apple.comab60d982008-09-05 04:58:12 +0000248782008-09-04 Brady Eidson <beidson@apple.com>
24879
24880 Reviewed by Mitz
24881
24882 <rdar://problem/6180236> - Safari times out connections after 1 or 2 minutes
24883
24884 A 60-second default timeout was added in http://trac.webkit.org/changeset/17144 in an attempt
24885 to model default NSURLRequest behavior in a cross-platform manner.
24886
24887 Sadly by always enforcing this 60 second timeout, WebCore was stomping over the wishes of any Webkit
24888 client that wished to enforce a much larger default timeout using NSURLRequest API.
24889
24890 Additionally, upon reviewing what all other browsers do, it seems apparent that "no limit" is desirable
24891 behavior on the web and this restores previous Safari/WebKit behavior.
24892
24893 It would be easy to write a layout test for this, but to be effective it would have
24894 to run for at least 61 seconds, which seems insane until will can parallelize run-webkit-tests
24895
24896 * manual-tests/timeout-test.html: Added.
24897 * manual-tests/timeout-test.php: Added.
24898
24899 * platform/network/ResourceRequestBase.h:
24900 (WebCore::ResourceRequestBase::ResourceRequestBase): Rename the constant to "unspecifiedTimeoutInterval"
24901 and make it UINT_MAX so platforms that do set it have an effective "no timeout." (Windows, for example)
24902 * platform/network/mac/ResourceRequestMac.mm:
24903 (WebCore::ResourceRequest::doUpdatePlatformRequest): If the timeout for this request is
24904 "unspecifiedTimeoutInterval", then don't bother setting the timeout using NSURLRequest API, allowing
24905 WebKit applications to enforce their own default timeout.
24906
mitz@apple.com20268542008-09-05 04:26:32 +0000249072008-09-04 Dan Bernstein <mitz@apple.com>
24908
24909 Reviewed by Beth Dakin.
24910
24911 - fix <rdar://problem/6198514> Changing a button's opacity triggers relayout
24912
24913 Test: fast/repaint/button-spurious-layout-hint.html
24914
24915 * rendering/RenderButton.cpp:
24916 (WebCore::RenderButton::setStyle): Reset the inner block's style box
24917 flex to 0 to avoid getting a spurious layout hint.
24918
kevino@webkit.org3e8c4072008-09-04 23:53:04 +0000249192008-09-04 Kevin Ollivier <kevino@theolliviers.com>
24920
24921 wx build fixes.
24922
24923 * WebCoreSources.bkl:
24924 * bindings/js/ScriptControllerWx.cpp: Added.
24925 (WebCore::ScriptController::createScriptInstanceForWidget):
24926 * page/wx/AccessibilityObjectWx.cpp: Added.
24927 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
24928 * platform/graphics/wx/GraphicsContextWx.cpp:
24929 * webcore-base.bkl:
24930 * webcore-wx.bkl:
24931
mitz@apple.com95a87502008-09-04 23:27:19 +0000249322008-09-04 Dan Bernstein <mitz@apple.com>
24933
24934 Reviewed by Mark Rowe.
24935
24936 - roll out r36050 because it made svg/custom/invalid-fill-hex.svg fail,
24937 and fixing https://bugs.webkit.org/show_bug.cgi?id=15360 appears to
24938 require a different approach
24939
24940 * css/CSSGrammar.y:
24941
mrowe@apple.com12b7c2d2008-09-04 21:00:02 +0000249422008-09-04 Mark Rowe <mrowe@apple.com>
24943
mrowe@apple.com5bc4ea82008-09-04 21:44:28 +000024944 Reviewed by Eric Seidel.
24945
24946 Fix https://bugs.webkit.org/show_bug.cgi?id=20639.
24947 Bug 20639: ENABLE_DASHBOARD_SUPPORT does not need to be a FEATURE_DEFINE
24948
24949 * Configurations/WebCore.xcconfig: Remove ENABLE_DASHBOARD_SUPPORT from FEATURE_DEFINES.
24950 * DerivedSources.make: Revert to checking for ENABLE_DASHBOARD_SUPPORT rather than looking
24951 for ENABLE_DASHBOARD_SUPPORT in FEATURE_DEFINES.
24952
249532008-09-04 Mark Rowe <mrowe@apple.com>
24954
mrowe@apple.com12b7c2d2008-09-04 21:00:02 +000024955 Mac build fix.
24956
24957 * config.h: Only check the value of HAVE_CONFIG_H if it is defined.
24958
eric@webkit.org0716a542008-09-04 20:44:12 +0000249592008-09-04 Eric Seidel <eric@webkit.org>
24960
24961 Build fix only, no review.
24962
24963 * dom/XMLTokenizer.cpp: Fix the Chromium merge build by adding a missing header (the Mac files must include it somewhere).
24964
jmalonzo@webkit.org6afc5d42008-09-04 20:26:16 +0000249652008-09-04 Marco Barisione <marco.barisione@collabora.co.uk>
24966
24967 Reviewed by Eric Seidel.
24968
24969 http://bugs.webkit.org/show_bug.cgi?id=20380
24970 [GTK][AUTOTOOLS] Include autotoolsconfig.h from config.h
24971
24972 * config.h: Include the configuration header generated by autotools if
24973 available.
24974
mitz@apple.com9d7e4262008-09-04 18:15:25 +0000249752008-09-04 Dan Bernstein <mitz@apple.com>
24976
24977 Rubber-stamped by Dave Hyatt.
24978
24979 - rename CachedResource::allReferencesRemoved() to allClientsRemoved()
24980
24981 * loader/CachedFont.cpp:
24982 (WebCore::CachedFont::allClientsRemoved):
24983 * loader/CachedFont.h:
24984 * loader/CachedImage.cpp:
24985 (WebCore::CachedImage::allClientsRemoved):
24986 * loader/CachedImage.h:
24987 * loader/CachedResource.cpp:
24988 (WebCore::CachedResource::removeClient):
24989 * loader/CachedResource.h:
24990 (WebCore::CachedResource::allClientsRemoved):
24991
aroben@apple.com0da404d2008-09-04 16:09:33 +0000249922008-09-04 Adam Roben <aroben@apple.com>
24993
aroben@apple.comdd3861a2008-09-04 16:09:53 +000024994 Windows build fix after r36071
24995
24996 We were getting these errors:
24997
24998 error C2356: initialization segment must not change during translation
24999 unit
25000
25001 This was happening because multiple files #included by
25002 DerivedSources.cpp were themselves #including StaticConstructors.h. I
25003 fixed the error by adding header guards to StaticConstructors.h so its
25004 contents will only be included once.
25005
25006 But it's also not a good idea for StaticConstructors.h to end up in
25007 DerivedSources.cpp, since it ends up "polluting" all the source files
25008 we have in there. So I removed all the files that include
25009 StaticConstructors.h and added some preprocessor directives to
25010 DerivedSources.cpp to catch this error in the future.
25011
25012 * DerivedSources.cpp: Removed the *Names.cpp files, which include
25013 StaticConstructors.h, and added some preprocessor directives to make
25014 sure we don't end up accidentally including StaticConstructors.h in
25015 the future.
25016 * WebCore.vcproj/WebCore.vcproj: Added the *Names.cpp files.
25017 * platform/StaticConstructors.h: Added header guards.
25018
250192008-09-04 Adam Roben <aroben@apple.com>
25020
aroben@apple.com0da404d2008-09-04 16:09:33 +000025021 Windows build fix
25022
25023 * platform/graphics/win/FontPlatformData.h: Added a missing #include
25024 of PassRefPtr.h, and corrected the capitalization of RefCounted.h.
25025 * platform/text/PlatformString.h: Added a missing #include of
25026 PassRefPtr.h.
25027
vestbo@webkit.orgc0aeddf2008-09-04 11:44:17 +0000250282008-09-04 Tor Arne Vestbø <tavestbo@trolltech.com>
25029
25030 Reviewed by Simon.
25031
vestbo@webkit.orgb82da912008-09-04 14:24:58 +000025032 Fix the QtWebKit build to match changes in r36016
25033
25034 * WebCore.pro:
25035 * bridge/qt/qt_instance.cpp:
25036 (KJS::Bindings::QtInstance::getRuntimeObject):
25037 * bridge/qt/qt_runtime.cpp:
25038 (KJS::Bindings::convertQVariantToValue):
25039 (KJS::Bindings::QtConnectionObject::execute):
25040
250412008-09-04 Tor Arne Vestbø <tavestbo@trolltech.com>
25042
25043 Reviewed by Simon.
25044
vestbo@webkit.orgc0aeddf2008-09-04 11:44:17 +000025045 Re-enable support for user stylesheets in QtWebKit
25046
25047 QtWebKit now follows the FRAME_LOADS_USER_STYLESHEET
25048 code path, which allows us to keep API support for
25049 loading user style sheets from remote URLs.
25050
25051 As part of the change UserStyleSheetLoader.cpp/h was
25052 moved from WebCore/loader/mac to WebCore/loader.
25053
25054 * WebCore.pro:
25055 * WebCore.xcodeproj/project.pbxproj:
25056 * dom/Document.h:
25057 * loader/UserStyleSheetLoader.cpp: Renamed from WebCore/loader/mac/UserStyleSheetLoader.cpp.
25058 (UserStyleSheetLoader::UserStyleSheetLoader):
25059 (UserStyleSheetLoader::~UserStyleSheetLoader):
25060 * loader/UserStyleSheetLoader.h: Renamed from WebCore/loader/mac/UserStyleSheetLoader.h.
25061 * page/qt/FrameQt.cpp:
25062 (WebCore::Frame::setUserStyleSheetLocation):
25063 (WebCore::Frame::setUserStyleSheet):
25064
alp@webkit.org539ff852008-09-04 09:14:42 +0000250652008-09-04 Alp Toker <alp@nuanti.com>
25066
25067 Reviewed by Eric.
25068
25069 Remove left-over QT and CAIRO platform checks.
25070
25071 * html/CanvasRenderingContext2D.cpp:
25072
eric@webkit.orgbc0aab82008-09-04 08:39:51 +0000250732008-09-04 Eric Seidel <eric@webkit.org>
25074
25075 Reviewed by Mark Rowe.
25076
mitz@apple.com9388d252008-09-04 08:58:58 +000025077 Fix leak of TextMetrics due to over-ref as see on buildbot.
eric@webkit.orgbc0aab82008-09-04 08:39:51 +000025078
25079 * html/TextMetrics.h: use adoptRef since RefCounted starts @ refcount 1 instead of 0 now.
25080
mitz@apple.com89557c52008-09-04 07:26:53 +0000250812008-09-04 Dan Bernstein <mitz@apple.com>
25082
25083 Reviewed by Dave Hyatt.
25084
25085 - fix https://bugs.webkit.org/show_bug.cgi?id=19717
25086 <rdar://problem/6026832> REGRESSION (r31876): menu items render horizontally at the Economist
25087
25088 * rendering/RenderBlock.cpp:
25089 (WebCore::RenderBlock::layoutOnlyPositionedObjects): In the
25090 positioned movement only case, call
25091 tryLayoutDoingPositionedMovementOnly() and fall back on doing a full
25092 layout if that fails.
25093 (WebCore::RenderBlock::layoutPositionedObjects): Ditto.
25094 * rendering/RenderBox.h:
25095 (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly): Renamed
25096 layoutDoingPositionedMovementOnly to this, and made this function
25097 check if the width changed. If it did, return, leaving the object
25098 dirty. The caller can then call layout(). The width can change even
25099 in the "positioned movement only" case if the object is shrink-to-fit
25100 and the available width constraint is met. (This was the case in the
25101 bug).
25102 * rendering/RenderObject.h:
25103 (WebCore::RenderObject::tryLayoutDoingPositionedMovementOnly):
25104 Renamed layoutDoingPositionedMovementOnly() to this.
25105
eric@webkit.org8883b4a2008-09-04 06:31:37 +0000251062008-09-03 Eric Seidel <eric@webkit.org>
25107
25108 No review, build fix only.
25109
25110 Attempt to fix the Qt build.
25111
25112 * WebCore.pro: add page/animation to include path
25113
mrowe@apple.comaa4bb8d2008-09-04 03:20:30 +0000251142008-09-03 Mark Rowe <mrowe@apple.com>
25115
25116 Mac build fix. Correctly detect whether dashboard support is enabled.
25117
25118 * DerivedSources.make:
25119
eric@webkit.org3eefe672008-09-04 01:32:26 +0000251202008-09-03 Eric Seidel <eric@webkit.org>
25121
25122 Reviewed by Sam.
25123
eric@webkit.org5e069092008-09-04 01:32:51 +000025124 Clean up Platform.h and add PLATFORM(CHROMIUM), PLATFORM(SKIA) and USE(V8_BINDINGS)
25125
25126 * Configurations/WebCore.xcconfig: add missing ENABLE_*
25127 * config.h: add rules for V8_BINDINGS
25128
251292008-09-03 Eric Seidel <eric@webkit.org>
25130
25131 Reviewed by Sam.
25132
eric@webkit.org3eefe672008-09-04 01:32:26 +000025133 https://bugs.webkit.org/show_bug.cgi?id=20620
25134
25135 Add #if USE(JSC) around KJS dependencies
25136 Remove !USE(JAVASCRIPTCORE_BINDINGS) support for 3 reasons:
25137 1. Most platforms have it on anyway
25138 2. V8 is going to want to share some of that code
25139 3. Those platforms which want it off, should have a separate file instead of an #ifdef in our .cpp
25140
25141 * bindings/js/JSPluginElementFunctions.cpp: remove !USE(JAVASCRIPTCORE_BINDINGS) support
25142 * config.h: change JAVASCRIPTCORE_BINDINGS to JSC and add USE(V8)
25143 * html/HTMLAppletElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
25144 * html/HTMLAppletElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
25145 * html/HTMLEmbedElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
25146 * html/HTMLEmbedElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
25147 * html/HTMLObjectElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
25148 * html/HTMLObjectElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
25149 * html/HTMLPlugInElement.cpp: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed
25150 * html/HTMLPlugInElement.h: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed
25151 * platform/text/AtomicString.cpp: add USE(JSC)
25152 * platform/text/AtomicString.h: add USE(JSC)
25153 * platform/text/PlatformString.h: add USE(JSC)
25154 * platform/text/String.cpp: add USE(JSC)
25155 * platform/text/StringImpl.cpp: add USE(JSC)
25156 * platform/text/StringImpl.h: add USE(JSC)
25157
mrowe@apple.comfbe724c2008-09-03 23:46:54 +0000251582008-09-03 Dean McNamee <deanm@chromium.org>
25159
25160 Reviewed by Darin Adler.
25161
25162 Fix https://bugs.webkit.org/show_bug.cgi?id=20511
25163 Bug 20511: Remove static initializers on Windows
25164
25165 Avoid static initializers on Windows by forcing Visual C++ to put
25166 all static initializers in a code segment that is never executed.
25167
25168 * config.h:
25169 * css/MediaFeatureNames.cpp:
25170 * dom/EventNames.cpp:
25171 * dom/QualifiedName.cpp:
25172 * dom/make_names.pl:
25173 * platform/StaticConstructors.h:
25174 * platform/text/AtomicString.cpp:
25175
mrowe@apple.com3aa63182008-09-03 23:40:49 +0000251762008-09-03 Dirk Schulze <vbs85@gmx.de>
25177
25178 Reviewed by Dave Hyatt.
25179
25180 Make FontCairo draw TextStroke and TextFill separately.
25181
25182 [CAIRO] draw TextFill and TextStroke separately.
25183 [https://bugs.webkit.org/show_bug.cgi?id=20631]
25184
25185 * platform/graphics/cairo/FontCairo.cpp:
25186 (WebCore::Font::drawGlyphs):
25187
eric@webkit.org4ac94e62008-09-18 23:07:55 +0000251882008-09-03 Peter Kasting <pkasting@google.com>
mrowe@apple.comdcd72b72008-09-03 23:34:40 +000025189
25190 Reviewed by Dave Hyatt.
25191
25192 https://bugs.webkit.org/show_bug.cgi?id=19663
25193 Account for paint and timer lag when animating images. Also pretend
25194 that images whose animations were paused (by becoming invisible)
25195 continued to animate, by "catching up" to the correct frame when they're
25196 shown again.
25197
25198 * platform/graphics/BitmapImage.cpp:
25199 (WebCore::BitmapImage::BitmapImage):
25200 (WebCore::BitmapImage::startAnimation):
25201 (WebCore::BitmapImage::advanceAnimation):
25202 (WebCore::BitmapImage::internalAdvanceAnimation):
25203 (WebCore::BitmapImage::notifyObserverAndTrimDecodedData):
25204 * platform/graphics/BitmapImage.h:
25205 * platform/graphics/cairo/ImageCairo.cpp:
25206 (WebCore::BitmapImage::draw):
25207 * platform/graphics/cg/ImageCG.cpp:
25208 (WebCore::BitmapImage::draw):
25209 * platform/graphics/qt/ImageQt.cpp:
25210 (WebCore::BitmapImage::draw):
25211 * platform/graphics/wx/ImageWx.cpp:
25212 (WebCore::BitmapImage::draw):
25213
kmccullough@apple.comb0f4c622008-09-03 21:53:17 +0000252142008-09-03 Kevin McCullough <kmccullough@apple.com>
25215
25216 Reviewed by Tim.
25217
25218 Remove the rest of the "zombie" code from the profiler.
25219 - There is no longer a need for the ProfilerClient callback mechanism.
25220
25221 * page/Console.cpp:
25222 (WebCore::Console::Console):
25223 (WebCore::Console::profile):
25224 (WebCore::Console::profileEnd): Move the variables from the header to
25225 here since we don't have to wait for a callback to use them.
25226 * page/Console.h:
25227 * page/InspectorController.cpp:
25228 (WebCore::InspectorController::startUserInitiatedProfiling):
25229 (WebCore::InspectorController::stopUserInitiatedProfiling):
25230 * page/InspectorController.h:
25231
adachan@apple.com38c66182008-09-03 21:43:44 +0000252322008-09-03 Ada Chan <adachan@apple.com>
25233
25234 Windows build fix.
25235
25236 * WebCore.vcproj/WebCore.vcproj: Added JSWebKitCSSKeyframeRule.cpp and JSWebKitCSSKeyframesRule.cpp to the project.
25237
dino@apple.com5c917622008-09-03 21:15:53 +0000252382008-09-01 Dean Jackson <dino@apple.com>
25239
25240 Reviewed by Dave Hyatt.
25241
25242 https://bugs.webkit.org/show_bug.cgi?id=20594
25243 Add DOM interfaces for WebKitCSSKeyframeRule
25244 and WebKitCSSKeyframesRule.
25245
25246 TEST: LayoutTests/css3/keyframes-rule.html
25247
25248 * css/WebKitCSSKeyframeRule.idl: Added
25249 * css/WebKitCSSKeyframesRule.idl: Added
25250
25251 * bindings/js/JSCSSRuleCustom.cpp:
25252 (WebCore::toJS):
25253 Add return of new JS Keyframe rules
25254 * bindings/objc/DOMInternal.h:
25255 Include new internal header
25256
25257 * DerivedSources.make:
25258 * GNUmakefile.am:
25259 * WebCore.pro:
25260 * WebCore.vcproj/WebCore.vcproj:
25261 * WebCore.xcodeproj/project.pbxproj:
25262 * WebCoreSources.bkl:
25263 Build configs for new files
25264
aroben@apple.com1f51bfa2008-09-03 20:30:59 +0000252652008-09-03 Adam Roben <aroben@apple.com>
25266
25267 Windows build fix
25268
25269 * DerivedSources.cpp: Add JSTextMetrics.cpp to fix the build.
25270 * WebCore.vcproj/WebCore.vcproj: Add JSTextMetrics.h for
25271 convenience/consistency.
25272
adele@apple.com27713582008-09-03 20:13:41 +0000252732008-09-03 Adele Peterson <adele@apple.com>
25274
25275 Build fix.
25276
25277 * WebCore.vcproj/WebCore.vcproj:
25278
hyatt@apple.com4b38ed82008-09-03 18:32:05 +0000252792008-09-03 David Hyatt <hyatt@apple.com>
25280
25281 Fix for bug 18203, right floats should be allowed to overflow past the left border edge.
25282
25283 Reviewed by Darin (ages ago)
25284
25285 Added fast/block/float/clamped-right-float.html
25286
25287 * rendering/RenderBlock.cpp:
25288 (WebCore::RenderBlock::positionNewFloats):
25289
hyatt@apple.comafe62052008-09-03 18:13:39 +0000252902008-09-02 David Hyatt <hyatt@apple.com>
25291
25292 Add support for canvas text drawing APIs.
25293
25294 Reviewed by olliej
25295
25296 Tests added as fast/canvas/canvas-text-*.html
25297
25298 * DerivedSources.make:
25299 * WebCore.xcodeproj/project.pbxproj:
25300 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
25301 (WebCore::JSCanvasRenderingContext2D::fillText):
25302 (WebCore::JSCanvasRenderingContext2D::strokeText):
25303 * css/CSSStyleSelector.cpp:
25304 (WebCore::CSSStyleSelector::initForStyleResolve):
25305 (WebCore::CSSStyleSelector::applyPropertyToStyle):
25306 * css/CSSStyleSelector.h:
25307 * html/CanvasRenderingContext2D.cpp:
25308 (WebCore::CanvasRenderingContext2D::State::State):
25309 (WebCore::CanvasRenderingContext2D::font):
25310 (WebCore::CanvasRenderingContext2D::setFont):
25311 (WebCore::CanvasRenderingContext2D::textAlign):
25312 (WebCore::CanvasRenderingContext2D::setTextAlign):
25313 (WebCore::CanvasRenderingContext2D::textBaseline):
25314 (WebCore::CanvasRenderingContext2D::setTextBaseline):
25315 (WebCore::CanvasRenderingContext2D::fillText):
25316 (WebCore::CanvasRenderingContext2D::strokeText):
25317 (WebCore::CanvasRenderingContext2D::measureText):
25318 (WebCore::CanvasRenderingContext2D::drawTextInternal):
25319 (WebCore::CanvasRenderingContext2D::accessFont):
25320 * html/CanvasRenderingContext2D.h:
25321 * html/CanvasRenderingContext2D.idl:
25322 * html/TextMetrics.h: Added.
25323 (WebCore::TextMetrics::create):
25324 (WebCore::TextMetrics::width):
25325 (WebCore::TextMetrics::setWidth):
25326 (WebCore::TextMetrics::TextMetrics):
25327 * html/TextMetrics.idl: Added.
25328 * platform/graphics/Font.cpp:
25329 (WebCore::Font::lineGap):
25330 * platform/graphics/Font.h:
25331 * platform/graphics/GraphicsContext.cpp:
25332 (WebCore::GraphicsContext::drawBidiText):
25333 * platform/graphics/GraphicsContext.h:
25334 * platform/graphics/GraphicsTypes.cpp:
25335 (WebCore::textAlignName):
25336 (WebCore::parseTextAlign):
25337 (WebCore::textBaselineName):
25338 (WebCore::parseTextBaseline):
25339 * platform/graphics/GraphicsTypes.h:
25340 (WebCore::):
25341
sullivan@apple.combc066af2008-09-03 17:37:24 +0000253422008-09-03 John Sullivan <sullivan@apple.com>
25343
25344 Fixed <rdar://problem/6193022> <rdar://problem/6193022> Crash occurs at WebCore::AnimationBase::propertiesEqual () after certain steps
25345
25346 Fixed by Darin, reviewed by me
25347
25348 * page/animation/AnimationBase.cpp:
25349 (WebCore::AnimationBase::propertiesEqual):
25350 added ensurePropertyMap() to this static function
25351 (WebCore::AnimationBase::getPropertyAtIndex):
25352 ditto
25353 (WebCore::AnimationBase::getNumProperties):
25354 ditto
25355
kmccullough@apple.com70168ee2008-09-03 17:35:42 +0000253562008-09-03 Kevin McCullough <kmccullough@apple.com>
25357
25358 Reviewed by Darin and Tim.
25359
25360 Remove most of the "zombie" mode from the profiler. Next we will need
25361 to remove the client callback mechanism in profiles.
25362 - These changes are a result of changes to JSCore.
25363
25364 * manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html:
25365 * page/Console.cpp:
25366 (WebCore::retrieveLastCaller):
25367 (WebCore::Console::profileEnd):
25368 * page/InspectorController.cpp:
25369 (WebCore::InspectorController::stopUserInitiatedProfiling):
25370
adele@apple.com643616b2008-09-03 16:57:58 +0000253712008-09-03 Adele Peterson <adele@apple.com>
25372
25373 Reviewed by Darin Adler.
25374
25375 Test: fast/forms/search-display-none-cancel-button.html
25376
25377 Allow display:none to work on a search field's cancel button. Prepare for adding more style-ability for the results button too.
25378
25379 * css/html4.css: Set display:inline-block for these buttons. Now they can be overridden by a web author.
25380
25381 * rendering/RenderTextControl.cpp:
25382 (WebCore::RenderTextControl::setStyle): Add nil checks for the button renderers.
25383 (WebCore::RenderTextControl::createResultsButtonStyle): Don't set the display explicitly. This is now done in html4.css.
25384 (WebCore::RenderTextControl::createCancelButtonStyle): ditto.
25385 (WebCore::RenderTextControl::createSubtreeIfNeeded):
25386 Reorganize this code so our complicated way of adding shadow nodes is abstracted out into the TextControlInnerElement class.
25387 (WebCore::RenderTextControl::updateFromElement): Added nil checks for the button renderers.
25388 (WebCore::RenderTextControl::subtreeHasChanged): ditto.
25389 (WebCore::RenderTextControl::calcHeight): ditto.
25390 (WebCore::RenderTextControl::nodeAtPoint): ditto.
25391 (WebCore::RenderTextControl::layout): ditto.
25392 (WebCore::RenderTextControl::calcPrefWidths): ditto.
25393 (WebCore::RenderTextControl::clientPaddingLeft): ditto.
25394 (WebCore::RenderTextControl::clientPaddingRight): ditto.
25395
25396 * rendering/TextControlInnerElements.cpp:
25397 (WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock): Moved from RenderTextControl.cpp.
25398 (WebCore::RenderTextControlInnerBlock::nodeAtPoint): ditto.
25399 (WebCore::TextControlInnerElement::attachInnerElement): Added.
25400 This does all the separate steps of attaching a shadow node that used to be repeated in RenderTextControl::createSubtreeIfNeeded for each element.
25401 (WebCore::TextControlInnerTextElement::createRenderer): Added. Creates a RenderTextControlInnerBlock.
25402 * rendering/TextControlInnerElements.h:
25403
ap@webkit.orgacd84142008-09-03 08:08:19 +0000254042008-08-28 Alexey Proskuryakov <ap@webkit.org>
25405
25406 Reviewed by Maciej.
25407
25408 Elminate SQLiteAuthorizer class.
25409
25410 * WebCore.xcodeproj/project.pbxproj:
25411 * WebCore.vcproj/WebCore.vcproj:
25412 * GNUmakefile.am
25413 Removed SQLiteAuthorizer.h.
25414
25415 * platform/sql/SQLiteAuthorizer.cpp:
25416 * platform/sql/SQLiteAuthorizer.h: Removed.
25417 * platform/sql/SQLiteDatabase.cpp:
25418 (WebCore::SQLiteDatabase::authorizerFunction):
25419 (WebCore::SQLiteDatabase::setAuthorizer):
25420 * platform/sql/SQLiteDatabase.h:
25421 * storage/DatabaseAuthorizer.h:
25422 (WebCore::DatabaseAuthorizer::create):
25423 (WebCore::DatabaseAuthorizer::createView):
25424 (WebCore::DatabaseAuthorizer::createTempView):
25425 (WebCore::DatabaseAuthorizer::dropView):
25426 (WebCore::DatabaseAuthorizer::dropTempView):
25427 (WebCore::DatabaseAuthorizer::allowSelect):
25428 (WebCore::DatabaseAuthorizer::allowReindex):
25429 Merge SQLiteAuthorizer and DatabaseAuthorizer, as keeping them separate serves no purpose.
25430
mrowe@apple.com2ecd4862008-09-03 07:05:48 +0000254312008-09-03 Dirk Schulze <vbs85@gmx.de>
25432
25433 Reviewed by Mark Rowe.
25434
25435 WebKitGtk build fix.
25436
25437 * GNUmakefile.am:
25438 * page/animation/AnimationController.h:
25439
mrowe@apple.come344ad02008-09-03 06:59:03 +0000254402008-09-02 Robert Blaut <webkit@blaut.biz>
25441
25442 Reviewed by Geoff Garen.
25443
25444 Fix for <https://bugs.webkit.org/show_bug.cgi?id=16913>
25445 Misplaced elements should not close DL lists.
25446
25447 Test: fast/invalid/test-case-tr-th-td-should-not-close-dl-list.html
25448
25449 * html/HTMLParser.cpp:
25450 (WebCore::HTMLParser::handleError):
25451
mrowe@apple.com7a909462008-09-03 06:51:31 +0000254522008-09-02 Glenn Wilson <wilsong@gmail.com>
25453
25454 Reviewed by Darin Adler.
25455
25456 Fix for <https://bugs.webkit.org/show_bug.cgi?id=15360>
25457 Bug 15360: color:#{predefined colorName} is treated as colorName in Safari
25458
25459 We would inappropriately interpret and apply an invalid CSS "color" property
25460 when the value is a predefined color preceded by a '#' symbol. For example,
25461 style="color:#gray;" would apply the color gray when it should not.
25462
25463 In the bison template, "hexcolor" was defined as both "HEX maybe_space" OR "IDENT maybe_space".
25464 This caused identifiers not fitting the appropriate hex format but preceded by a '#' to be
25465 interpreted as a valid color (CSSPrimitiveValue::CSS_PARSER_HEXCOLOR), when it was really just
25466 an ignorable token.
25467
25468 To correct this, "IDENT maybe_space" was removed from "hexcolor" and added under "term" as
25469 '#' IDENT maybe_space, which is then processed as a CSSPrimitiveValue::CSS_STRING instead of
25470 CSSPrimitiveValue::CSS_PARSER_HEXCOLOR.
25471
25472 Test: css1/color_and_background/invalid_color.html
25473
25474 * css/CSSGrammar.y:
25475
mrowe@apple.comda9a1442008-09-03 06:22:12 +0000254762008-09-02 Mihnea Ovidenie <mihnea@adobe.com>
25477
25478 Reviewed by Darin Adler.
25479
25480 Fix for https://bugs.webkit.org/show_bug.cgi?id=19964
25481 Bug 19964: Divide by zero crash in RenderBox::calculateBackgroundSize with 0,0 bmp background image
25482
25483 Add a check to RenderBox::repaintLayerRectsForImage to make sure the current layer image can be rendered.
25484
25485 Test: css3/khtml-background-size-0x0-bmp.html
25486
25487 * rendering/RenderBox.cpp:
25488 (WebCore::RenderBox::repaintLayerRectsForImage):
25489
mrowe@apple.com6625ae52008-09-03 06:12:30 +0000254902008-09-02 Glenn Wilson <wilsong@gmail.com>
25491
25492 Reviewed by Eric Seidel.
25493
25494 Fix https://bugs.webkit.org/show_bug.cgi?id=20397
25495 Bug 20397: Invalid webkit-border-bottom-left-radius property causes crash
25496
25497 The function checkForOrphanedUnits() would change the length of a list whose size was
25498 was already determined before the call to checkForOrphanedUnits was made. Later in
25499 the caller, the old size was being used for boundary management.
25500
25501 This has been fixed by moving the call to checkForOrphanedUnits() earlier in the
25502 calling function, before the size of the list is determined.
25503
25504 Test: fast/css/orphaned_units_crash.html
25505
25506 * css/CSSParser.cpp:
25507 (WebCore::CSSParser::parseValue): Moved call to checkForOrphanedUnits() earlier in the function.
25508
mrowe@apple.com170bd522008-09-03 05:49:51 +0000255092008-09-02 Dirk Schulze <vbs85@gmx.de>
25510
25511 Reviewed by Darin Adler.
25512
mrowe@apple.comeb877a52008-09-03 06:01:15 +000025513 Fallback on invalid fill or stroke styles in Canvas was
25514 transparent black. Changed it to last valid style.
25515
25516 Canvas fillStyle() and strokeStyle() needs fallback
25517 https://bugs.webkit.org/show_bug.cgi?id=20474
25518
25519 Tests: fast/canvas/canvas-invalid-fillstyle.html
25520 fast/canvas/canvas-invalid-strokestyle.html
25521
25522 * html/CanvasStyle.cpp:
25523 (WebCore::CanvasStyle::applyStrokeColor):
25524 (WebCore::CanvasStyle::applyFillColor):
25525
255262008-09-02 Dirk Schulze <vbs85@gmx.de>
25527
25528 Reviewed by Darin Adler.
25529
mrowe@apple.com170bd522008-09-03 05:49:51 +000025530 Fix https://bugs.webkit.org/show_bug.cgi?id=20468
25531 Updated drawImage() in canvas to match the current specification.
25532
25533 Test: fast/canvas/drawImage-with-negative-source-destination.html
25534
25535 * html/CanvasRenderingContext2D.cpp:
25536 (WebCore::normalizeRect):
25537 (WebCore::CanvasRenderingContext2D::drawImage):
25538
mrowe@apple.com96916d12008-09-03 05:41:44 +0000255392008-08-26 Mark Rowe <mrowe@apple.com>
25540
25541 Reviewed by Darin Adler.
25542
25543 <rdar://problem/5768210> Switch back to the system version of SQLite
25544
25545 Use the system version of SQLite when it is new enough to provide the functionality
25546 that WebCore requires.
25547
25548 * Configurations/Base.xcconfig:
25549 * Configurations/DebugRelease.xcconfig:
25550 * Configurations/WebCore.xcconfig:
25551
mitz@apple.comce268c12008-09-03 02:59:00 +0000255522008-09-02 Dan Bernstein <mitz@apple.com>
25553
25554 - build fix
25555
25556 * page/animation/AnimationBase.h:
25557
dino@apple.com7e49a7a2008-09-03 01:32:14 +0000255582008-09-02 Chris Marrin <cmarrin@apple.com>
25559
25560 Reviewed by Dave Hyatt.
25561
25562 AnimationController.cpp should be split into separate files
25563 https://bugs.webkit.org/show_bug.cgi?id=20604
25564
25565 Note: All makefiles, except WebCore.xcodeproj have been changed without testing, upon
25566 recommendation of Dave Hyatt.
25567
25568 * GNUmakefile.am:
25569 * WebCore.pro:
25570 * WebCore.vcproj/WebCore.vcproj:
25571 * WebCore.xcodeproj/project.pbxproj:
25572 * WebCoreSources.bkl:
25573 Build files.
25574
25575 * page/AnimationController.cpp: Removed.
25576 * page/AnimationController.h: Removed.
25577 * page/animation: Added.
25578 * page/animation/AnimationBase.cpp: Added.
25579 * page/animation/AnimationBase.h: Added.
25580 * page/animation/AnimationController.cpp: Copied from WebCore/page/AnimationController.cpp.
25581 * page/animation/AnimationController.h: Copied from WebCore/page/AnimationController.h.
25582 * page/animation/CompositeAnimation.cpp: Added.
25583 * page/animation/CompositeAnimation.h: Added.
25584 * page/animation/ImplicitAnimation.cpp: Added.
25585 * page/animation/ImplicitAnimation.h: Added.
25586 * page/animation/KeyframeAnimation.cpp: Added.
25587 * page/animation/KeyframeAnimation.h: Added.
25588
mitz@apple.comcb917a22008-09-03 00:57:37 +0000255892008-09-02 Dan Bernstein <mitz@apple.com>
25590
25591 - release build fix
25592
25593 * platform/graphics/cg/GraphicsContextCG.cpp:
25594 (WebCore::calculateDrawingMode):
25595
timothy@apple.comf3aa7342008-09-02 21:30:26 +0000255962008-09-02 Timothy Hatcher <timothy@apple.com>
25597
timothy@apple.comc33ff3c2008-09-02 21:35:02 +000025598 Make console functions log the correct resource URL and
25599 line number for where the call originated.
25600
25601 https://bugs.webkit.org/show_bug.cgi?id=17234
25602 <rdar://problem/5732837>
25603
25604 Reviewed by Kevin McCullough.
25605
25606 Test: manual-tests/inspector/console-call-line-numbers.html
25607
25608 * bindings/js/JSConsoleCustom.cpp:
25609 (WebCore::JSConsole::count): Call the impl.
25610 (WebCore::JSConsole::timeEnd): Ditto.
25611 * manual-tests/inspector/console-call-line-numbers.html: Added.
25612 * manual-tests/inspector/resources/script-console-calls.js: Added.
25613 * page/Console.cpp:
25614 (WebCore::retrieveLastCaller): Helper to get the URL and line.
25615 (WebCore::Console::error): Call retrieveLastCaller to get the URL and
25616 line number to pass to addMessageToConsole.
25617 (WebCore::Console::info): Ditto.
25618 (WebCore::Console::log): Ditto.
25619 (WebCore::Console::assertCondition): Ditto.
25620 (WebCore::Console::count): Ditto.
25621 (WebCore::Console::timeEnd): Ditto.
25622 (WebCore::Console::warn): Ditto.
25623 * page/Console.h:
25624 * page/Console.idl: Make count and timeEnd custom.
25625
256262008-09-02 Timothy Hatcher <timothy@apple.com>
25627
timothy@apple.comf3aa7342008-09-02 21:30:26 +000025628 Removed IDL files from WebCore's framework resources.
25629
25630 * WebCore.xcodeproj/project.pbxproj:
25631
mitz@apple.comfb6ad392008-09-02 20:39:29 +0000256322008-09-02 Dan Bernstein <mitz@apple.com>
25633
25634 Reviewed by Dave Hyatt.
25635
25636 - <rdar://problem/5681647> pages at http://www.stendmarsofa.com/ are so slow to calculate style it seems like a hang
25637
25638 * html/HTMLParser.cpp:
25639 (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Added a
25640 cap on the number of consecutive identical residual style tags to
25641 reopen.
25642 (WebCore::HTMLParser::popBlock): Ditto.
25643
ap@webkit.org879328b2008-09-02 16:16:06 +0000256442008-09-02 Alexey Proskuryakov <ap@webkit.org>
25645
25646 Reviewed by Adam Roben.
25647
25648 A little database quota management cleanup.
25649
25650 * storage/OriginQuotaManager.cpp:
25651 (WebCore::OriginQuotaManager::OriginQuotaManager):
25652 (WebCore::OriginQuotaManager::lock):
25653 (WebCore::OriginQuotaManager::unlock):
25654 (WebCore::OriginQuotaManager::trackOrigin):
25655 (WebCore::OriginQuotaManager::tracksOrigin):
25656 (WebCore::OriginQuotaManager::addDatabase):
25657 (WebCore::OriginQuotaManager::removeDatabase):
25658 (WebCore::OriginQuotaManager::removeOrigin):
25659 (WebCore::OriginQuotaManager::markDatabase):
25660 (WebCore::OriginQuotaManager::diskUsage):
25661 * storage/OriginQuotaManager.h:
25662 Changed to assert that a lock is taken more directly and reliably. Removed comments about
25663 main/background threads, as this is likely to stop being true with synchronous Database calls
25664 being made on worker threads.
25665
25666 * storage/OriginUsageRecord.cpp:
25667 (WebCore::OriginUsageRecord::OriginUsageRecord):
25668 (WebCore::OriginUsageRecord::addDatabase):
25669 (WebCore::OriginUsageRecord::removeDatabase):
25670 (WebCore::OriginUsageRecord::markDatabase):
25671 (WebCore::OriginUsageRecord::diskUsage):
25672 * storage/OriginUsageRecord.h:
25673 (WebCore::OriginUsageRecord::DatabaseEntry::DatabaseEntry):
25674 Don't use a magic value for unknown. It is totally unnecessary for DatabaseEntry, and
25675 can be replaced with a single boolean for OriginUsageRecord.
25676 Added assertions for string parameters being unshared.
25677
25678
abarth@webkit.orgaea97a02008-09-02 04:26:15 +0000256792008-09-01 Adam Barth <abarth@webkit.org>
25680
25681 Reviewed by Sam Weinig.
25682
25683 https://bugs.webkit.org/show_bug.cgi?id=19760
25684
25685 Make granting LoadLocalResources conditional on a policy.
25686
25687 * WebCore.base.exp:
25688 * dom/Document.cpp:
25689 (WebCore::Document::initSecurityContext):
25690 * loader/FrameLoader.cpp:
25691 (WebCore::FrameLoader::setLocalLoadPolicy):
25692 (WebCore::FrameLoader::restrictAccessToLocal):
25693 * loader/FrameLoader.h:
25694 (WebCore::FrameLoader::):
25695 * platform/SecurityOrigin.cpp:
25696 (WebCore::SecurityOrigin::grantLoadLocalResources):
25697 * platform/SecurityOrigin.h:
25698
dino@apple.com6e2db502008-09-01 23:05:28 +0000256992008-09-01 Dean Jackson <dino@apple.com>
25700
dino@apple.com59ca9f52008-09-01 23:34:13 +000025701 Reviewed by Sam Weinig.
25702
25703 https://bugs.webkit.org/show_bug.cgi?id=20571
25704 Make sure Window object can assign Animation/Transition event
25705 listeners via attributes.
25706
25707 Also added a bunch of transition event tests, although
25708 only transition-end-event-window is directly relevant to this patch.
25709
25710 (WebCore::JSDOMWindowBase::put):
25711
25712 Tests: transitions/transition-end-event-all-properties.html
25713 transitions/transition-end-event-attributes.html
25714 transitions/transition-end-event-container.html
25715 transitions/transition-end-event-left.html
25716 transitions/transition-end-event-multiple-01.html
25717 transitions/transition-end-event-multiple-02.html
25718 transitions/transition-end-event-multiple-03.html
25719 transitions/transition-end-event-multiple-04.html
25720 transitions/transition-end-event-nested.html
25721 transitions/transition-end-event-transform.html
25722 transitions/transition-end-event-window.html
25723
257242008-09-01 Dean Jackson <dino@apple.com>
25725
dino@apple.com6e2db502008-09-01 23:05:28 +000025726 Reviewed by Sam Weinig
25727
25728 Code styling cleanup.
25729
25730 * bindings/js/JSDOMWindowBase.cpp:
25731 (WebCore::JSDOMWindowBase::getValueProperty):
25732 (WebCore::JSDOMWindowBase::put):
25733
weinig@apple.com3412bb42008-09-01 21:22:54 +0000257342008-09-01 Geoffrey Garen <ggaren@apple.com>
25735
25736 Reviewed by Darin Adler.
25737
25738 First cut at inline caching for access to vanilla JavaScript properties.
25739
25740 Updated for JavaScriptCore changes. Mostly mechanical addition of StructureIDs
25741 to WebCore classes, and PutPropertySlot& arguments to put functions.
25742
25743 (WebCore::JSCSSStyleDeclaration::customPut): Be sure to play nice with
25744 inline caching for global properties, so global assignment can be optimized.
25745
25746 * ForwardingHeaders/kjs/StructureID.h: Added.
25747 * bindings/js/JSDOMBinding.h:
25748 (WebCore::DOMObject::DOMObject):
25749 * bindings/js/JSDOMWindowBase.cpp:
25750 (WebCore::JSDOMWindowBase::put):
25751 * bindings/js/JSDOMWindowBase.h:
25752 * bindings/js/JSDOMWindowCustom.h:
25753 (WebCore::JSDOMWindow::customPut):
25754 * bindings/js/JSDOMWindowShell.cpp:
25755 (WebCore::JSDOMWindowShell::JSDOMWindowShell):
25756 (WebCore::JSDOMWindowShell::put):
25757 * bindings/js/JSDOMWindowShell.h:
25758 * bindings/js/JSEventTargetBase.h:
25759 (WebCore::JSEventTargetBase::put):
25760 * bindings/js/JSEventTargetNode.h:
25761 (WebCore::JSEventTargetNode::put):
25762 * bindings/js/JSHTMLAppletElementCustom.cpp:
25763 (WebCore::JSHTMLAppletElement::customPut):
25764 * bindings/js/JSHTMLEmbedElementCustom.cpp:
25765 (WebCore::JSHTMLEmbedElement::customPut):
25766 * bindings/js/JSHTMLInputElementBase.cpp:
25767 (WebCore::JSHTMLInputElementBase::put):
25768 * bindings/js/JSHTMLInputElementBase.h:
25769 * bindings/js/JSHTMLObjectElementCustom.cpp:
25770 (WebCore::JSHTMLObjectElement::customPut):
25771 * bindings/js/JSHistoryCustom.cpp:
25772 (WebCore::JSHistory::customPut):
25773 * bindings/js/JSInspectedObjectWrapper.cpp:
25774 (WebCore::JSInspectedObjectWrapper::wrap):
25775 (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
25776 * bindings/js/JSInspectedObjectWrapper.h:
25777 * bindings/js/JSInspectorCallbackWrapper.cpp:
25778 (WebCore::JSInspectorCallbackWrapper::wrap):
25779 (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper):
25780 * bindings/js/JSInspectorCallbackWrapper.h:
25781 * bindings/js/JSLocationCustom.cpp:
25782 (WebCore::JSLocation::customPut):
25783 * bindings/js/JSPluginElementFunctions.cpp:
25784 (WebCore::runtimeObjectCustomPut):
25785 * bindings/js/JSPluginElementFunctions.h:
25786 * bindings/js/JSQuarantinedObjectWrapper.cpp:
25787 (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper):
25788 (WebCore::JSQuarantinedObjectWrapper::put):
25789 * bindings/js/JSQuarantinedObjectWrapper.h:
25790 * bindings/js/JSStorageCustom.cpp:
25791 (WebCore::JSStorage::customPut):
25792 * bindings/objc/WebScriptObject.mm:
25793 (-[WebScriptObject setValue:forKey:]):
25794 * bindings/scripts/CodeGeneratorJS.pm:
25795 * bridge/NP_jsobject.cpp:
25796 (_NPN_SetProperty):
25797 * bridge/jni/jni_jsobject.mm:
25798 (JavaJSObject::setMember):
25799 * bridge/objc/objc_class.mm:
25800 (KJS::Bindings::ObjcClass::fallbackObject):
25801 * bridge/objc/objc_runtime.h:
25802 * bridge/objc/objc_runtime.mm:
25803 (ObjcFallbackObjectImp::ObjcFallbackObjectImp):
25804 (ObjcFallbackObjectImp::put):
25805 * bridge/runtime.cpp:
25806 (KJS::Bindings::Instance::createRuntimeObject):
25807 * bridge/runtime_array.cpp:
25808 (RuntimeArray::put):
25809 * bridge/runtime_array.h:
25810 * bridge/runtime_object.cpp:
25811 (RuntimeObjectImp::RuntimeObjectImp):
25812 (RuntimeObjectImp::put):
25813 * bridge/runtime_object.h:
25814
jmalonzo@webkit.org1f770ba2008-09-01 12:43:34 +0000258152008-09-01 Dirk Schulze <vbs85@gmx.de>
25816
25817 Reviewed by Eric Seidel.
25818
jmalonzo@webkit.org37f07882008-09-01 12:43:48 +000025819 Fixed border-radius for Cairo.
25820
25821 * platform/graphics/cairo/GraphicsContextCairo.cpp:
25822 (WebCore::GraphicsContext::strokeArc):
25823
258242008-09-01 Dirk Schulze <vbs85@gmx.de>
25825
25826 Reviewed by Eric Seidel.
25827
jmalonzo@webkit.org1f770ba2008-09-01 12:43:34 +000025828 Added canvas's globalAlpha to cairo.
25829
25830 * platform/graphics/GraphicsContext.h:
25831 * platform/graphics/cairo/GraphicsContextCairo.cpp:
25832 (WebCore::GraphicsContext::fillPath):
25833 (WebCore::GraphicsContext::strokePath):
25834 (WebCore::GraphicsContext::setAlpha):
25835 (WebCore::GraphicsContext::getAlpha):
25836 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
25837 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
25838 * platform/graphics/cairo/ImageCairo.cpp:
25839 (WebCore::BitmapImage::draw):
25840
hausmann@webkit.orgecd099d2008-08-31 13:13:28 +0000258412008-08-31 Simon Hausmann <hausmann@webkit.org>
25842
25843 Unreviewed Qt build fix.
25844
25845 * WebCore.pro: Add TextControlInnerElements.cpp to SOURCES instead of
25846 the .h file
25847
darin@apple.come7945852008-08-31 06:58:07 +0000258482008-08-30 Darin Adler <darin@apple.com>
25849
25850 Reviewed by Maciej.
25851
25852 - adopt some new JavaScriptCore functions where appropriate
25853
25854 * bindings/js/JSDOMWindowBase.cpp:
25855 (WebCore::windowProtoFuncAToB): Adopted jsEmptyString.
25856 (WebCore::windowProtoFuncBToA): Ditto.
25857 * bindings/js/JSEventListener.cpp:
25858 (WebCore::JSLazyEventListener::eventParameterName): Adopted
25859 jsNontrivialString.
25860 * bindings/js/JSSVGLazyEventListener.cpp:
25861 (WebCore::JSSVGLazyEventListener::eventParameterName): Ditto.
25862
beidson@apple.com21c821f2008-08-30 00:26:01 +0000258632008-08-29 Brady Eidson <beidson@apple.com>
25864
beidson@apple.come1bd6032008-08-30 00:30:11 +000025865 Reviewed by Anders' rubberstamp
25866
25867 Style cleanup to match MediaTokenizer::writeRawData()
25868
25869 * loader/PluginDocument.cpp:
25870 (WebCore::PluginTokenizer::writeRawData):
25871
258722008-08-29 Brady Eidson <beidson@apple.com>
25873
beidson@apple.com21c821f2008-08-30 00:26:01 +000025874 Reviewed by Anders
25875
mitz@apple.com098b1e62008-09-24 16:39:55 +000025876 https://bugs.webkit.org/show_bug.cgi?id=20556
25877 <rdar://problem/6181817> REGRESSION (r35946): media/video-click-dlbclick-standalone.html [sic] fails because load never fires
25878
beidson@apple.com21c821f2008-08-30 00:26:01 +000025879 Fix regression I introducted in 35946
25880 Already covered by media/video-click-dlbclick-standalone.html
25881
25882 * loader/MediaDocument.cpp:
25883 (WebCore::MediaTokenizer::createDocumentStructure): Don't cancel the load here - too early!
25884 (WebCore::MediaTokenizer::writeRawData): Call finish() here so onload() can be called. Also add
25885 an ASSERT signifying that this method should only be called once, to more closely follow the
25886 PluginDocument case.
25887
bdakin@apple.com7ee298c2008-08-30 00:00:30 +0000258882008-08-29 Beth Dakin <bdakin@apple.com>
25889
25890 Reviewed by Sam Weinig.
25891
25892 Fix for <rdar://problem/6181588>
25893
25894 This patch makes hit testing take into account the new concept of a
25895 disconnected frame, in which some of the content may not be
25896 visible. The current hit testing mechanism starts at a target frame
25897 and drills down for a HitTestResult. In some cases, drilling down
25898 will find a non-visible result. When this happens, we need to try
25899 again, starting at a higher level -- namely, starting at the main
25900 frame.
25901
25902 * editing/Editor.cpp:
25903 (WebCore::Editor::insideVisibleArea): New function that tests if a
25904 point is inside the visible area for a disconnected frame.
25905 * editing/Editor.h:
25906 * page/EventHandler.cpp:
25907 (WebCore::EventHandler::hitTestResultAtPoint):
25908
adele@apple.comfb903062008-08-29 22:30:18 +0000259092008-08-29 Adele Peterson <adele@apple.com>
25910
25911 Reviewed by Adam Roben.
25912
25913 Rename HTMLTextFieldInnerElement.h/.cpp to TextControlInnerElements.h/.cpp
25914
25915 * GNUmakefile.am:
25916 * WebCore.pro:
25917 * WebCore.vcproj/WebCore.vcproj:
25918 * WebCore.xcodeproj/project.pbxproj:
25919 * WebCoreSources.bkl:
25920 * html/HTMLTextFieldInnerElement.cpp: Removed.
25921 * html/HTMLTextFieldInnerElement.h: Removed.
25922 * rendering/RenderTextControl.cpp:
25923 (WebCore::RenderTextControl::createSubtreeIfNeeded):
25924 * rendering/RenderTextControl.h:
25925 * rendering/TextControlInnerElements.cpp: Copied from html/HTMLTextFieldInnerElement.cpp.
25926 (WebCore::TextControlInnerElement::TextControlInnerElement):
25927 (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
25928 (WebCore::TextControlInnerTextElement::defaultEventHandler):
25929 (WebCore::SearchFieldResultsButtonElement::SearchFieldResultsButtonElement):
25930 (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
25931 (WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
25932 (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
25933 * rendering/TextControlInnerElements.h: Copied from html/HTMLTextFieldInnerElement.h.
25934
eric@webkit.org298c65b2008-08-29 21:39:32 +0000259352008-08-29 Eric Seidel <eric@webkit.org>
25936
eric@webkit.org77837ce2008-08-29 21:40:07 +000025937 Rubber-stamped by aroben.
25938
25939 Add GraphicsContext.h include to GraphcisContextPrivate.h
25940
25941 GraphicsContextPrivate uses StrokeStyle which is defined
25942 in GraphicsContext.h but it doesn't include that header.
25943 CoreGraphics build doesn't fail here due to the order
25944 it happens to include files.
25945
25946 * platform/graphics/GraphicsContextPrivate.h:
25947
259482008-08-29 Eric Seidel <eric@webkit.org>
25949
eric@webkit.org298c65b2008-08-29 21:39:32 +000025950 Reviewed by hyatt.
25951
25952 Fix GeneratedImage to respect Image's refcounting
25953 Fixing potential crashers (future if not current)
25954 https://bugs.webkit.org/show_bug.cgi?id=20567
25955
25956 I don't know if it's possible to make the current code
25957 crash, thus I've not made a test.
25958
25959 * css/CSSGradientValue.cpp:
25960 (WebCore::CSSGradientValue::image):
25961 * css/CSSImageGeneratorValue.cpp:
25962 (WebCore::CSSImageGeneratorValue::removeClient):
25963 (WebCore::CSSImageGeneratorValue::getImage):
25964 * css/CSSImageGeneratorValue.h:
25965 * platform/graphics/GeneratedImage.h:
25966 (WebCore::GeneratedImage::GeneratedImage):
25967 * rendering/style/RenderStyle.cpp:
25968 (WebCore::RenderStyle::setContent):
25969 * rendering/style/RenderStyle.h:
25970
eric.carlson@apple.comddeafd42008-08-29 20:07:19 +0000259712008-08-29 Eric Carlson <eric.carlson@apple.com>
25972
25973 Reviewed by Adele.
25974
eric.carlson@apple.com850c77c2008-08-29 20:24:50 +000025975 Fix for <rdar://problem/6093767>
25976 https://bugs.webkit.org/show_bug.cgi?id=20526
25977
25978 Don't allow video to render until unsupported track types have been disabled.
25979
25980 * platform/graphics/win/QTMovieWin.cpp:
25981 (QTMovieWinPrivate::task):
25982 (QTMovieWinPrivate::drawingComplete):
25983 (QTMovieWinPrivate::clearGWorld):
25984
259852008-08-29 Eric Carlson <eric.carlson@apple.com>
25986
25987 Reviewed by Adele.
25988
eric.carlson@apple.comddeafd42008-08-29 20:07:19 +000025989 Fix for https://bugs.webkit.org/show_bug.cgi?id=20525
25990 <rdar://problem/6169301>
25991
25992 Return the size of the movie data instead of 1000.
25993
25994 Test: media/progress-event-total.html
25995
25996 * platform/graphics/win/QTMovieWin.cpp:
25997 (QTMovieWin::dataSize):
25998
hausmann@webkit.org0367b582008-08-29 15:56:02 +0000259992008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
26000
hausmann@webkit.orgfe7f2ac2008-08-29 15:57:44 +000026001 Reviewed by Eric Seidel.
26002
26003 [janitor/qt] Start replacing port specific getters with the generic native getter
26004 To get the native presentation of an image we currently have platform
26005 specific #ifdef's and a generic getter using NativeImagePtr. This patch
26006 extends this to the ImageBuffer and updates the Qt platform to get rid
26007 of the special #ifdefs.
26008
26009 https://bugs.webkit.org/attachment.cgi?id=22861
26010
26011 * platform/graphics/BitmapImage.h:
26012 * platform/graphics/Image.h:
26013 * platform/graphics/qt/ImageQt.cpp:
26014 * platform/graphics/qt/StillImageQt.cpp:
26015 * platform/graphics/qt/StillImageQt.h:
26016 * platform/qt/ClipboardQt.cpp:
26017 (WebCore::ClipboardQt::createDragImage):
26018 (WebCore::ClipboardQt::declareAndWriteDragImage):
26019 * platform/qt/CursorQt.cpp:
26020 * platform/qt/PasteboardQt.cpp:
26021 (WebCore::Pasteboard::writeImage):
26022
260232008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
26024
hausmann@webkit.org0367b582008-08-29 15:56:02 +000026025 Reviewed by Simon.
26026
hausmann@webkit.orgb99266e2008-08-29 15:56:59 +000026027 [svg/qt] Stop crashing... when no RenderPath/RenderObject is given...
26028
26029 * svg/graphics/qt/SVGPaintServerQt.cpp:
26030 (WebCore::SVGPaintServer::renderPath):
26031 * svg/graphics/qt/SVGPaintServerSolidQt.cpp:
26032 (WebCore::SVGPaintServerSolid::setup):
26033
260342008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
26035
26036 Reviewed by Simon.
26037
hausmann@webkit.org0367b582008-08-29 15:56:02 +000026038 [network/qt] Implement defering of loading ResourceHandle's
26039 This is needed otherwise we end in an ASSERT in the MainResourceLoader. The
26040 implementation is simply not forwarding anything to the
26041 ResourceHandleClient until we are allowed to. This might lead to a deadlock
26042 in Qt as we do not empty the QNetworkReply input buffer and wait until we
26043 are allowed to read. If that happens we are forced to buffer the data
26044 within QNetworkReplyHandler, for now this is not done.
26045
26046 Manual test:
26047 - Open http://acid3.acidtests.org
26048 - Wait for the test to complete
26049 - Click on the Reference Rendering link
26050 - Be fast and see the results of acid3
26051 => assert
26052
26053 * platform/network/qt/QNetworkReplyHandler.cpp:
26054 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
26055 (WebCore::QNetworkReplyHandler::setLoadMode):
26056 (WebCore::QNetworkReplyHandler::finish):
26057 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
26058 (WebCore::QNetworkReplyHandler::forwardData):
26059 (WebCore::QNetworkReplyHandler::start):
26060 (WebCore::QNetworkReplyHandler::resetState):
26061 (WebCore::QNetworkReplyHandler::sendQueuedItems):
26062 * platform/network/qt/QNetworkReplyHandler.h:
26063 (WebCore::QNetworkReplyHandler::):
26064 * platform/network/qt/ResourceHandleQt.cpp:
26065 (WebCore::ResourceHandle::start):
26066 (WebCore::ResourceHandle::loadResourceSynchronously):
26067 (WebCore::ResourceHandle::setDefersLoading):
26068
hausmann@webkit.org2f2621f2008-08-29 10:21:38 +0000260692008-08-29 Simon Hausmann <hausmann@webkit.org>
26070
hausmann@webkit.orgf5864402008-08-29 12:35:59 +000026071 Reviewed by Holger.
26072
26073 Don't crash when drawing patterns with the HTML canvas. Patterns
26074 remain unimplemented but at least they don't crash anymore. This is
26075 done by changing the PlatformPatternPtr to be a brush for the Qt
26076 platform.
26077
26078 * platform/graphics/Pattern.h:
26079 * platform/graphics/qt/GraphicsContextQt.cpp:
26080 (WebCore::GraphicsContext::fillPath):
26081 (WebCore::GraphicsContext::strokePath):
26082 (WebCore::GraphicsContext::fillRect):
26083 * platform/graphics/qt/PatternQt.cpp:
26084 (WebCore::Pattern::createPlatformPattern):
26085
260862008-08-29 Simon Hausmann <hausmann@webkit.org>
26087
hausmann@webkit.org2f2621f2008-08-29 10:21:38 +000026088 Fix the Qt build, fontSelector() is not used by the Qt port yet
26089 and we just return 0 in Font::fontSelector().
26090
26091 * platform/graphics/Font.h:
26092
alp@webkit.org97d8c102008-08-29 05:09:39 +0000260932008-08-28 Alp Toker <alp@nuanti.com>
26094
26095 GTK+ dist/build fix. List newly added header files.
26096
26097 * GNUmakefile.am:
26098
simon.fraser@apple.com8f30d022008-08-28 23:04:18 +0000260992008-08-28 Simon Fraser <simon.fraser@apple.com>
26100
26101 Reviewed by Dave Hyatt
26102
26103 Various WebKitCSSTransformValue-related fixes
26104 https://bugs.webkit.org/show_bug.cgi?id=20562
26105
26106 Test: css3/transform-value-types.html
26107
26108 * bindings/js/JSCSSValueCustom.cpp:
26109 (WebCore::toJS):
26110 * css/CSSValue.h:
26111 * css/WebKitCSSTransformValue.cpp:
26112 (WebCore::WebKitCSSTransformValue::cssText):
26113 * css/WebKitCSSTransformValue.h:
26114 (WebCore::WebKitCSSTransformValue::):
26115 * css/WebKitCSSTransformValue.idl:
26116
mitz@apple.comd7222352008-08-28 22:53:31 +0000261172008-08-28 Dan Bernstein <mitz@apple.com>
26118
26119 Reviewed by Steve Falkenburg.
26120
26121 - do not let the "last chance" WM_TIMER trigger WebCore timers when they should be deferred
26122
26123 * platform/win/SharedTimerWin.cpp:
26124 (WebCore::TimerWindowWndProc):
26125
hyatt@apple.com7d335232008-08-28 21:38:45 +0000261262008-08-28 David Hyatt <hyatt@apple.com>
26127
26128 RenderStyle cleanup.
26129
26130 Break out StyleImage, StyleGeneratedImage, StyleCachedImage and NinePieceImage into separate files.
26131
26132 Reviewed by Adam
26133
26134 * css/CSSImageGeneratorValue.cpp:
26135 * css/CSSImageValue.cpp:
26136 * css/CSSStyleSelector.cpp:
26137 * rendering/RenderImageGeneratedContent.cpp:
26138 * rendering/style/NinePieceImage.cpp: Added.
26139 * rendering/style/NinePieceImage.h: Added.
26140 * rendering/style/RenderStyle.cpp:
26141 (WebCore::FillLayer::operator==):
26142 (WebCore::FillLayer::containsImage):
26143 (WebCore::StyleInheritedData::operator==):
26144 (WebCore::RenderStyle::contentDataEquivalent):
26145 * rendering/style/RenderStyle.h:
26146 * rendering/style/StyleCachedImage.cpp: Added.
26147 * rendering/style/StyleCachedImage.h: Added.
26148 * rendering/style/StyleGeneratedImage.cpp: Added.
26149 * rendering/style/StyleGeneratedImage.h: Added.
26150 * rendering/style/StyleImage.h: Added.
26151
simon.fraser@apple.com28bad1a2008-08-28 21:29:21 +0000261522008-08-28 Simon Fraser <simon.fraser@apple.com>
26153
26154 Reviewed by Dave Hyatt
26155
26156 Make all the 'isFoo()' methods on CSSValue const,
26157 and fix the subclasses.
26158
26159 https://bugs.webkit.org/show_bug.cgi?id=20561
26160
26161 * css/CSSTimingFunctionValue.h:
26162 * css/CSSValue.h:
26163 (WebCore::CSSValue::isFontValue):
26164 (WebCore::CSSValue::isImageGeneratorValue):
26165 (WebCore::CSSValue::isImageValue):
26166 (WebCore::CSSValue::isImplicitInitialValue):
26167 * css/CSSValueList.h:
26168 * css/FontValue.h:
26169
hyatt@apple.com550a95c2008-08-28 19:53:56 +0000261702008-08-28 David Hyatt <hyatt@apple.com>
26171
hyatt@apple.comcb3eb812008-08-28 20:08:03 +000026172 The great RenderStyle cleanup begins!
26173
26174 Move LengthBox and LengthSize out of RenderStyle and into Length.
26175
26176 Reviewed by Adam
26177
26178 * rendering/Length.h:
26179 (WebCore::):
26180 (WebCore::Length::Length):
26181 (WebCore::Length::operator==):
26182 (WebCore::Length::operator!=):
26183 (WebCore::Length::value):
26184 (WebCore::Length::rawValue):
26185 (WebCore::Length::percent):
26186 (WebCore::Length::type):
26187 (WebCore::Length::quirk):
26188 (WebCore::Length::setValue):
26189 (WebCore::Length::setRawValue):
26190 (WebCore::Length::calcValue):
26191 (WebCore::Length::calcMinValue):
26192 (WebCore::Length::calcFloatValue):
26193 (WebCore::Length::isUndefined):
26194 (WebCore::Length::isZero):
26195 (WebCore::Length::isPositive):
26196 (WebCore::Length::isNegative):
26197 (WebCore::Length::isAuto):
26198 (WebCore::Length::isRelative):
26199 (WebCore::Length::isPercent):
26200 (WebCore::Length::isFixed):
26201 (WebCore::Length::isStatic):
26202 (WebCore::Length::isIntrinsicOrAuto):
26203 (WebCore::Length::blend):
26204 (WebCore::LengthBox::LengthBox):
26205 (WebCore::LengthBox::operator=):
26206 (WebCore::LengthBox::operator==):
26207 (WebCore::LengthBox::operator!=):
26208 (WebCore::LengthBox::nonZero):
26209 (WebCore::LengthSize::LengthSize):
26210 * rendering/style/RenderStyle.h:
26211
262122008-08-28 David Hyatt <hyatt@apple.com>
26213
hyatt@apple.com550a95c2008-08-28 19:53:56 +000026214 Reviewed by Darin
26215
26216 https://bugs.webkit.org/show_bug.cgi?id=18091
26217
26218 font-size should be animatable using -webkit-transition.
26219
26220 * page/AnimationController.cpp:
26221 (WebCore::AnimationControllerPrivate::ensurePropertyMap):
26222 * rendering/style/RenderStyle.h:
26223 (WebCore::RenderStyle::setFontSize):
26224
mitz@apple.com30923ad2008-08-28 17:45:47 +0000262252008-08-28 Brad Garcia <bgarcia@google.com>
26226
26227 Reviewed by Dan Bernstein.
26228
26229 https://bugs.webkit.org/show_bug.cgi?id=20549
26230 Correctly determine when cursor is over a resizable border within
26231 a nested frameset.
26232
26233 * rendering/RenderFrameSet.cpp:
26234 (WebCore::RenderFrameSet::canResizeRow):
26235 (WebCore::RenderFrameSet::canResizeColumn):
26236
simon.fraser@apple.comae77c412008-08-28 17:30:07 +0000262372008-08-28 Simon Fraser <simon.fraser@apple.com>
26238
26239 Reviewed by Eric Seidel
26240
26241 Add RuleTypes to CSSRule.idl for keyframes and keyframe rules.
26242 https://bugs.webkit.org/show_bug.cgi?id=20552
26243
26244 Test: animations/animation-css-rule-types.html
26245
26246 * css/CSSRule.idl:
26247
andersca@apple.com12399c32008-08-28 17:26:46 +0000262482008-08-28 Anders Carlsson <andersca@apple.com>
26249
26250 Reviewed by Kevin and Darin.
26251
26252 <rdar://problem/6182541>
26253 https://bugs.webkit.org/show_bug.cgi?id=20202
26254 Missing http status line from the http headers.
26255
26256 Add a status line to the header string.
26257
26258 * plugins/PluginStream.cpp:
26259 (WebCore::PluginStream::startStream):
26260
zecke@webkit.orgf1daa422008-08-28 15:56:01 +0000262612008-08-28 Holger Hans Peter Freyther <zecke@selfish.org>
26262
26263 Rubber-stamped by Darin Adler.
26264
26265 https://bugs.webkit.org/show_bug.cgi?id=17261
26266
26267 Make it possible to theme the default Url icon and enable this for
26268 the Qt port. To have a minimal usage of #ifdef in the code the setting
26269 of the icon was moved to a new method which comes in two flavors.
26270
26271 * loader/icon/IconDatabase.cpp:
26272 (WebCore::loadDefaultIconRecord): Load or set the default icon
26273 (WebCore::IconDatabase::defaultIcon):
26274
zecke@webkit.org1887dc82008-08-28 15:03:21 +0000262752008-08-28 Holger Hans Peter Freyther <zecke@selfish.org>
26276
26277 Unreviewed compile fix
26278
26279 * platform/graphics/qt/GraphicsContextQt.cpp: Remove redefinitions
26280
aroben@apple.comfacf5032008-08-28 13:34:01 +0000262812008-08-28 Adam Roben <aroben@apple.com>
26282
26283 Windows (and others?) build fix
26284
26285 * page/Chrome.cpp: Added a missing #include.
26286 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): Fixed typo.
26287
eric@webkit.org22794fd2008-08-28 12:04:40 +0000262882008-08-27 Eric Seidel <eric@webkit.org>
26289
26290 Reviewed by Oliver Hunt.
26291
eric@webkit.org5f874e92008-08-28 12:04:55 +000026292 Qt and Cairo support from krit (and blind stab @ wx compile support)
26293 https://bugs.webkit.org/show_bug.cgi?id=20373
26294
26295 * platform/graphics/cairo/GraphicsContextCairo.cpp:
26296 (WebCore::GraphicsContext::fillPath):
26297 (WebCore::GraphicsContext::strokePath):
26298 (WebCore::GraphicsContext::drawPath):
26299 (WebCore::GraphicsContext::fillRect):
26300 (WebCore::GraphicsContext::setPlatformFillColor):
26301 (WebCore::GraphicsContext::setPlatformStrokeColor):
26302 (WebCore::GraphicsContext::setPlatformStrokeStyle):
26303 (WebCore::GraphicsContext::strokeRect):
26304 (WebCore::GraphicsContext::setImageInterpolationQuality):
26305 (WebCore::GraphicsContext::imageInterpolationQuality):
26306 (WebCore::GraphicsContext::setPlatformFillPattern):
26307 (WebCore::GraphicsContext::setPlatformStrokePattern):
26308 (WebCore::GraphicsContext::setPlatformFillGradient):
26309 (WebCore::GraphicsContext::setPlatformStrokeGradient):
26310 * platform/graphics/qt/GraphicsContextQt.cpp:
26311 (WebCore::GraphicsContext::fillPath):
26312 (WebCore::GraphicsContext::strokePath):
26313 (WebCore::GraphicsContext::fillRect):
26314 (WebCore::GraphicsContext::strokeRect):
26315 (WebCore::GraphicsContext::clipToImageBuffer):
26316 (WebCore::GraphicsContext::setPlatformFillPattern):
26317 (WebCore::GraphicsContext::setPlatformStrokePattern):
26318 (WebCore::GraphicsContext::setPlatformFillGradient):
26319 (WebCore::GraphicsContext::setPlatformStrokeGradient):
26320 (WebCore::GraphicsContext::setImageInterpolationQuality):
26321 (WebCore::GraphicsContext::imageInterpolationQuality):
26322 * platform/graphics/wx/GraphicsContextWx.cpp:
26323 (WebCore::GraphicsContext::clipToImageBuffer):
26324 (WebCore::GraphicsContext::setImageInterpolationQuality):
26325 (WebCore::GraphicsContext::imageInterpolationQuality):
26326 (WebCore::GraphicsContext::fillPath):
26327 (WebCore::GraphicsContext::strokePath):
26328 (WebCore::GraphicsContext::drawPath):
26329 (WebCore::GraphicsContext::fillRect):
26330 (WebCore::GraphicsContext::setPlatformFillPattern):
26331 (WebCore::GraphicsContext::setPlatformStrokePattern):
26332 (WebCore::GraphicsContext::setPlatformFillGradient):
26333
263342008-08-27 Eric Seidel <eric@webkit.org>
26335
26336 Reviewed by Oliver Hunt.
26337
eric@webkit.org22794fd2008-08-28 12:04:40 +000026338 Add stroke/fill Gradient and Pattern support to GraphicsContext and update <canvas> to use it.
26339 https://bugs.webkit.org/show_bug.cgi?id=20373
26340
26341 Changed pattern() to canvasPattern() on CanvasStyle to match canvasGradient()
26342
26343 Made Generator (aka Gradient) RefCounted so that GraphicsContext didn't
26344 have to store large Gradient objects in the GraphicsContextState
26345
26346 Made Pattern RefCounted for the same reason.
26347
26348 Many updates to GraphicsContext to support easier drawing with
26349 Patterns and Gradients.
26350
26351 * WebCore.xcodeproj/project.pbxproj: Add pre-existing GraphicsContextPrivate.h
26352 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
26353 (WebCore::toJS):
26354 * css/CSSGradientValue.cpp:
26355 (WebCore::CSSGradientValue::createGradient):
26356 * css/CSSGradientValue.h:
26357 * html/CanvasGradient.cpp:
26358 (WebCore::CanvasGradient::CanvasGradient):
26359 * html/CanvasGradient.h:
26360 (WebCore::CanvasGradient::gradient):
26361 (WebCore::CanvasGradient::addColorStop):
26362 (WebCore::CanvasGradient::getColor):
26363 * html/CanvasPattern.cpp:
26364 * html/CanvasPattern.h:
26365 (WebCore::CanvasPattern::pattern):
26366 (WebCore::CanvasPattern::originClean):
26367 * html/CanvasRenderingContext2D.cpp:
26368 (WebCore::CanvasRenderingContext2D::State::State):
26369 (WebCore::CanvasRenderingContext2D::setStrokeStyle):
26370 (WebCore::CanvasRenderingContext2D::setFillStyle):
26371 (WebCore::CanvasRenderingContext2D::fill):
26372 (WebCore::CanvasRenderingContext2D::stroke):
26373 (WebCore::CanvasRenderingContext2D::fillRect):
26374 (WebCore::CanvasRenderingContext2D::strokeRect):
26375 * html/CanvasRenderingContext2D.h:
26376 * html/CanvasStyle.cpp:
26377 (WebCore::CanvasStyle::applyStrokeColor):
26378 (WebCore::CanvasStyle::applyFillColor):
26379 * html/CanvasStyle.h:
26380 * platform/graphics/GeneratedImage.h:
26381 (WebCore::GeneratedImage::GeneratedImage):
26382 * platform/graphics/Generator.h:
26383 * platform/graphics/Gradient.h:
26384 (WebCore::Gradient::create):
26385 * platform/graphics/GraphicsContext.cpp:
26386 (WebCore::GraphicsContext::fillRule):
26387 (WebCore::GraphicsContext::setFillRule):
26388 (WebCore::GraphicsContext::setStrokePattern):
26389 (WebCore::GraphicsContext::setFillPattern):
26390 (WebCore::GraphicsContext::setStrokeGradient):
26391 (WebCore::GraphicsContext::setFillGradient):
26392 * platform/graphics/GraphicsContext.h:
26393 * platform/graphics/GraphicsContextPrivate.h:
26394 (WebCore::):
26395 (WebCore::GraphicsContextState::GraphicsContextState):
26396 * platform/graphics/GraphicsTypes.h:
26397 * platform/graphics/Path.h:
26398 * platform/graphics/Pattern.h:
26399 (WebCore::Pattern::create):
26400 (WebCore::Pattern::tileImage):
26401 * platform/graphics/cg/GraphicsContextCG.cpp:
26402 (WebCore::GraphicsContext::drawRect):
26403 (WebCore::GraphicsContext::drawEllipse):
26404 (WebCore::GraphicsContext::drawConvexPolygon):
26405 (WebCore::calculateDrawingMode):
26406 (WebCore::GraphicsContext::drawPath):
26407 (WebCore::fillPathWithFillRule):
26408 (WebCore::GraphicsContext::fillPath):
26409 (WebCore::GraphicsContext::strokePath):
26410 (WebCore::GraphicsContext::fillRect):
26411 (WebCore::GraphicsContext::fillRoundedRect):
26412 (WebCore::GraphicsContext::setPlatformStrokePattern):
26413 (WebCore::GraphicsContext::setPlatformFillPattern):
26414 (WebCore::GraphicsContext::setPlatformStrokeGradient):
26415 (WebCore::GraphicsContext::setPlatformFillGradient):
26416
eric@webkit.org70b099f2008-08-28 11:42:26 +0000264172008-08-20 Eric Seidel <eric@webkit.org>
26418
26419 Reviewed by Darin and Alexey.
26420
26421 Close a leak of PausedTimeouts if the JavaScriptDebugServer was destroyed
26422 with timeouts paused.
26423 https://bugs.webkit.org/show_bug.cgi?id=20469
26424
26425 I attempted to clean up the memory management of PausedTimeouts, I'm not
26426 sure the solution I came up with is "cleaner", but it's in some ways
26427 "safer", since it no longer uses raw pointers and manual new/delete.
26428
26429 This also now prevents CachedPage from needlessly creating Window
26430 objects when caching pages which didn't already have one. :)
26431
26432 I also made Chrome.cpp no longer depend on the JavaScript bindings
26433 (aka JSDOMWindowBase.h), since there was no real reason for it to.
26434
26435 * bindings/js/JSDOMWindowBase.cpp:
26436 (WebCore::JSDOMWindowBase::pauseTimeouts):
26437 (WebCore::JSDOMWindowBase::resumeTimeouts):
26438 * bindings/js/JSDOMWindowBase.h:
26439 * bindings/js/ScriptController.cpp:
26440 (WebCore::ScriptController::pauseTimeouts):
26441 (WebCore::ScriptController::resumeTimeouts):
26442 * bindings/js/ScriptController.h:
26443 * history/CachedPage.cpp:
26444 (WebCore::CachedPage::CachedPage):
26445 (WebCore::CachedPage::restore):
26446 * page/Chrome.cpp:
26447 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
26448 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
26449 * page/JavaScriptDebugServer.cpp:
26450 (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer):
26451 (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
26452
zecke@webkit.org7d0df9e2008-08-28 03:36:31 +0000264532008-08-27 Holger Hans Peter Freyther <zecke@selfish.org>
26454
26455 Unreviewed compile fix
26456
26457 Add the stub for the Qt port.
26458
26459 * WebCore.pro:
26460 * page/qt/AccessibilityObjectQt.cpp: Added.
26461 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
26462
zecke@webkit.orged5c2fe2008-08-28 02:15:20 +0000264632008-08-27 Alp Toker <alp@nuanti.com>
26464
26465 Reviewed by Eric.
26466
26467 https://bugs.webkit.org/show_bug.cgi?id=20551
zecke@webkit.org81540882008-08-28 02:18:20 +000026468 [GTK] search popup crash
26469
26470 * platform/gtk/SearchPopupMenuGtk.cpp:
26471 (WebCore::SearchPopupMenu::enabled):
26472 Fix a search popup crasher by disabling the history popup since we
26473 don't support this feature yet in the GTK+ port.
26474
264752008-08-27 Alp Toker <alp@nuanti.com>
26476
26477 Reviewed by Eric.
26478
26479 https://bugs.webkit.org/show_bug.cgi?id=20551
zecke@webkit.orged5c2fe2008-08-28 02:15:20 +000026480 [GTK] curl crashers
26481
26482 * platform/network/curl/ResourceHandleManager.cpp:
26483 (WebCore::ResourceHandleManager::startScheduledJobs):
26484 Remove the resource handle from the pending list before starting the
26485 job, not afterwards. Fixes crashers in the test suite.
26486
26487 Test: fast/dom/clientWidthAfterDocumentIsRemoved.html
26488 Test: fast/encoding/char-encoding.html
26489
eric@webkit.org712cb892008-08-28 00:26:15 +0000264902008-08-27 Dirk Schulze <vbs85@gmx.de>
26491
26492 Reviewed by eseidel.
26493
26494 Fix canvas drawImage to support composite operations.
26495 Composite had no effect on canvas elements like these:
26496 http://philip.html5.org/tests/canvas/suite/tests/index.2d.composite.canvas.html
26497
26498 [CAIRO] Canvas composite don't work on canvas-elements.
26499 https://bugs.webkit.org/show_bug.cgi?id=20548
26500
26501 * html/CanvasRenderingContext2D.cpp:
26502 (WebCore::CanvasRenderingContext2D::drawImage): pass the current composite operator to the drawImage call
26503
eric@webkit.org75c83a02008-08-28 00:04:59 +0000265042008-08-27 Mario Bensi <mbensi@pleyo.com>
26505
26506 Reviewed by Eric Seidel.
26507
26508 Fix the data content of an image with a base64.
26509
26510 * platform/network/curl/ResourceHandleManager.cpp:
26511 (WebCore::parseDataUrl): Remove the String and use only the data
26512 Vector because the data.latin1().data() convert the data content and
26513 the image test ( https://bugs.webkit.org/attachment.cgi?id=21726 ) is
26514 not drawn correctly.
26515
antti@apple.comf66a86b2008-08-27 23:59:50 +0000265162008-08-27 Antti Koivisto <antti@apple.com>
26517
26518 Reviewed by Eric Seidel.
26519
26520 Crash after OK in dialog box and reloading page in secure mode
26521 https://bugs.webkit.org/show_bug.cgi?id=20493
26522
26523 The new run loop spawned by a modal dialog causes a timer in the loader to run
26524 synchronously inside didFinishLoading() deleting "this" object.
26525
26526 Defer all WebCore timers when a modal dialog is up. They are not
26527 safe to execute.
26528
26529 * page/Chrome.cpp:
26530 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
26531 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
26532
simon.fraser@apple.com7dbde252008-08-27 23:16:36 +0000265332008-08-27 Chris Marrin <cmarrin@apple.com>
26534
26535 Reviewed by Dave Hyatt
26536
26537 Memory leaks when animating transforms
26538 https://bugs.webkit.org/show_bug.cgi?id=20532
26539
26540 * rendering/style/RenderStyle.cpp:
26541 (WebCore::ScaleTransformOperation::blend):
26542 (WebCore::RotateTransformOperation::blend):
26543 (WebCore::SkewTransformOperation::blend):
26544 (WebCore::TranslateTransformOperation::blend):
26545 (WebCore::MatrixTransformOperation::blend):
26546 * rendering/style/RenderStyle.h:
26547
timothy@apple.com79cb13a2008-08-27 22:03:24 +0000265482008-08-27 Timothy Hatcher <timothy@apple.com>
26549
26550 Add support for support for -webkit-appearance: default-button on the Mac platform.
26551
26552 <rdar://problem/6173530>
26553
26554 Reviewed by Dave Hyatt.
26555
26556 * WebCore.base.exp: Export new symbols.
26557 * platform/mac/WebCoreSystemInterface.h: Add wkAdvanceDefaultButtonPulseAnimation.
26558 * platform/mac/WebCoreSystemInterface.mm: Ditto.
26559 * rendering/RenderButton.cpp:
26560 (WebCore::RenderButton::RenderButton): Remove #if PLATFORM(WIN).
26561 (WebCore::RenderButton::setStyle): Ditto.
26562 * rendering/RenderButton.h: Ditto.
26563 * rendering/RenderThemeMac.mm:
26564 (WebCore::RenderThemeMac::adjustRepaintRect): Add a case for DefaultButtonAppearance.
26565 (WebCore::RenderThemeMac::setButtonCellState): Set the key equivalent to the return
26566 key if the button is default, otherwise reset the key equivalent.
26567 (WebCore::RenderThemeMac::paintButton): If the button is default call setDefaultButtonCell:
26568 on the window, then wkAdvanceDefaultButtonPulseAnimation before painting. Restore
26569 the window's previous default button cell when finished.
26570
hyatt@apple.comf0ec84d2008-08-27 21:18:15 +0000265712008-08-26 David Hyatt <hyatt@apple.com>
26572
26573 First cut at making form controls on OS X respect full page zoom. There are lots of bugs.
26574
26575 Reviewed by weinig
26576
26577 Added fast/forms/zoomed-controls.html
26578
26579 * css/CSSStyleSelector.cpp:
26580 (WebCore::addIntrinsicMargins):
26581 * rendering/RenderSlider.cpp:
26582 (WebCore::RenderSlider::calcPrefWidths):
26583 * rendering/RenderThemeMac.h:
26584 * rendering/RenderThemeMac.mm:
26585 (WebCore::RenderThemeMac::adjustRepaintRect):
26586 (WebCore::RenderThemeMac::inflateRect):
26587 (WebCore::RenderThemeMac::baselinePosition):
26588 (WebCore::RenderThemeMac::setControlSize):
26589 (WebCore::RenderThemeMac::sizeForFont):
26590 (WebCore::RenderThemeMac::sizeForSystemFont):
26591 (WebCore::RenderThemeMac::setFontFromControlSize):
26592 (WebCore::RenderThemeMac::paintCheckbox):
26593 (WebCore::RenderThemeMac::setCheckboxCellState):
26594 (WebCore::RenderThemeMac::paintRadio):
26595 (WebCore::RenderThemeMac::setRadioCellState):
26596 (WebCore::RenderThemeMac::setButtonPaddingFromControlSize):
26597 (WebCore::RenderThemeMac::adjustButtonStyle):
26598 (WebCore::RenderThemeMac::setButtonCellState):
26599 (WebCore::RenderThemeMac::paintButton):
26600 (WebCore::RenderThemeMac::paintMenuList):
26601 (WebCore::RenderThemeMac::paintMenuListButton):
26602 (WebCore::RenderThemeMac::popupInternalPaddingLeft):
26603 (WebCore::RenderThemeMac::popupInternalPaddingRight):
26604 (WebCore::RenderThemeMac::popupInternalPaddingTop):
26605 (WebCore::RenderThemeMac::popupInternalPaddingBottom):
26606 (WebCore::RenderThemeMac::setPopupButtonCellState):
26607 (WebCore::RenderThemeMac::paintSliderTrack):
26608 (WebCore::RenderThemeMac::paintSliderThumb):
26609 (WebCore::RenderThemeMac::adjustSliderThumbSize):
26610 (WebCore::RenderThemeMac::paintSearchField):
26611 (WebCore::RenderThemeMac::adjustSearchFieldStyle):
26612 (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
26613 (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
26614
beidson@apple.comd0793872008-08-27 19:59:55 +0000266152008-08-27 Brady Eidson <beidson@apple.com>
26616
26617 Reviewed by Anders
26618
26619 <rdar://problem/6134133> - Crash when loading large movie as a standalone document
26620
26621 We hand off these loads to Quicktime which manages and spools the data itself, but we also continued
26622 to load and buffer the data for the movie in WebCore. With large media files, this results in blowing
26623 away the virtual address space and a crash.
26624
26625 * loader/EmptyClients.h:
26626 (WebCore::EmptyFrameLoaderClient::pluginWillHandleLoadError):
26627 * loader/FrameLoaderClient.h: Added client method to get platform specific error for
26628 "plugin will handle load"
26629
26630 * loader/MediaDocument.cpp:
26631 (WebCore::MediaTokenizer::createDocumentStructure): Tell the MainResourceLoader to not buffer data,
26632 and cancel the WebCore-managed load
26633 (WebCore::MediaTokenizer::writeRawData):
26634 (WebCore::MediaTokenizer::finish):
26635
simon.fraser@apple.come74d6712008-08-27 18:19:55 +0000266362008-08-26 Simon Fraser <simon.fraser@apple.com>
26637
26638 Reviewed by Eric Seidel
26639
26640 Linear timing functions should have control points 0, 0, 1, 1.
26641 https://bugs.webkit.org/show_bug.cgi?id=20535
26642
26643 * css/CSSStyleSelector.cpp:
26644 (WebCore::CSSStyleSelector::mapAnimationTimingFunction):
26645 * rendering/style/RenderStyle.h:
26646
aroben@apple.com8cfb6c62008-08-27 14:52:17 +0000266472008-08-27 Adam Roben <aroben@apple.com>
26648
26649 Windows build fix
26650
26651 * WebCore.vcproj/WebCore.vcproj: Fix file extension.
26652
mrowe@apple.com37686d42008-09-04 00:10:39 +0000266532008-08-26 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.com33a556b2008-08-26 22:29:14 +000026654
cfleizach@apple.comc6ebe3d2008-08-26 22:43:22 +000026655 Reviewed by Beth Dakin.
26656
cfleizach@apple.com2a505f42008-08-26 22:56:03 +000026657 <rdar://problem/6069462> REGRESSION: webkit is returning flash objects as AXUnknown
26658
26659 Added platform-specific accessibilityIgnoreAttachment, which allows the platform
26660 to determine if an attachment is ignored through accessibility. Added equivalent
26661 methods in Gtk, Win and Mac
26662
26663 Test: accessibility/plugin.html
26664
26665 * GNUmakefile.am:
26666 * WebCore.vcproj/WebCore.vcproj:
26667 * WebCore.xcodeproj/project.pbxproj:
26668 * page/AccessibilityObject.h:
26669 * page/AccessibilityRenderObject.cpp:
26670 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
26671 * page/gtk/AccessibilityObjectAtk.cpp: Added.
26672 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
26673 * page/mac/AccessibilityObjectMac.mm: Added.
26674 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
26675 * page/mac/AccessibilityObjectWrapper.h:
26676 * page/win/AccessibilityObjectWin.cpp: Added.
26677 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
26678
mrowe@apple.com37686d42008-09-04 00:10:39 +0000266792008-08-26 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.com2a505f42008-08-26 22:56:03 +000026680
26681 Reviewed by Beth Dakin.
26682
cfleizach@apple.comc6ebe3d2008-08-26 22:43:22 +000026683 <rdar://problem/5817770> can't bring up contextual menu for embedded objects in WebText
26684
26685 * page/mac/AccessibilityObjectWrapper.mm:
26686 (-[AccessibilityObjectWrapper accessibilityPerformShowMenuAction]):
26687 (-[AccessibilityObjectWrapper accessibilityShowContextMenu]):
26688
mrowe@apple.com37686d42008-09-04 00:10:39 +0000266892008-08-26 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.comc6ebe3d2008-08-26 22:43:22 +000026690
cfleizach@apple.com33a556b2008-08-26 22:29:14 +000026691 Reviewed by Darin Adler.
26692
26693 <rdar://problem/6176924> CrashTracer: [USER] 4 crashes in Safari at com.apple.WebCore: WebCore::RenderTableSection::numColumns
26694
26695 Tests: accessibility/table-notbody.html
26696
26697 * page/AccessibilityTable.cpp:
26698 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
26699
weinig@apple.com33705852008-08-26 19:51:28 +0000267002008-08-26 Sam Weinig <sam@webkit.org>
26701
weinig@apple.comf6f553a2008-08-26 21:21:26 +000026702 Reviewed by Beth Dakin.
26703
26704 Fix typo.
26705
26706 * dom/DOMCoreException.h:
26707
267082008-08-26 Sam Weinig <sam@webkit.org>
26709
weinig@apple.com0f34f002008-08-26 19:56:54 +000026710 Reviewed by Oliver Hunt.
26711
26712 Fix https://bugs.webkit.org/show_bug.cgi?id=20479
26713 <rdar://problem/6167660>
26714 Take image redirects into account when tainting the canvas.
26715
26716 Test: http/tests/security/canvas-remote-read-redirect-to-remote-image.html
26717
26718 * html/CanvasRenderingContext2D.cpp:
26719 (WebCore::CanvasRenderingContext2D::drawImage):
26720 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
26721
267222008-08-26 Sam Weinig <sam@webkit.org>
26723
weinig@apple.com33705852008-08-26 19:51:28 +000026724 Reviewed by Darin Adler.
26725
26726 Change canvas tainting logic to ask the image if it contains
26727 any resources outside of its own origin. Since there is no
26728 way to determine if SVG images contain any resources outside its
26729 origin, we always assume it does.
26730
26731 * html/CanvasRenderingContext2D.cpp:
26732 (WebCore::CanvasRenderingContext2D::drawImage):
26733 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
26734 * platform/graphics/BitmapImage.h:
26735 (WebCore::BitmapImage::hasSingleSecurityOrigin):
26736 * platform/graphics/GeneratedImage.h:
26737 (WebCore::GeneratedImage::hasSingleSecurityOrigin):
26738 * platform/graphics/Image.h:
26739 (WebCore::Image::hasSingleSecurityOrigin):
26740 * platform/graphics/cg/PDFDocumentImage.h:
26741 (WebCore::PDFDocumentImage::hasSingleSecurityOrigin):
26742 * svg/graphics/SVGImage.h:
26743
britto@apple.com616ef6d2008-08-26 17:51:03 +0000267442008-08-26 Maxime Britto <britto@apple.com>
26745
26746 Reviewed by Adele.
26747
26748 <rdar://6159244> Pan-scrolling does not work on particular sites (starmagazine.com, nytimes.com)
26749 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.
26750 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.
26751
26752 * page/EventHandler.cpp:
26753 (WebCore::EventHandler::updateAutoscrollRenderer): if we switch to the parent layer to do the scroll we want to change the renderer for the panning
26754 * page/EventHandler.h:
26755 * rendering/RenderLayer.cpp:
26756 (WebCore::RenderLayer::panScrollFromPoint): now calls the scrollByRecursively method when it has computed the xDelta and yDelta
26757 (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.
26758 * rendering/RenderLayer.h:
26759 * rendering/RenderObject.cpp:
26760 (WebCore::RenderObject::canBeProgramaticallyScrolled): a RenderObject must have a RenderLayer to be programatically scrolled
26761 (WebCore::RenderObject::autoscroll): No need to check for the layer anymore since we verify it's present in the upmentionned method
26762 (WebCore::RenderObject::panScroll): No need to check for the layer anymore too.
26763
jchaffraix@webkit.orge6915392008-08-26 10:27:33 +0000267642008-08-25 Julien Chaffraix <jchaffraix@webkit.org>
26765
darin@apple.com07c80c62008-09-05 18:15:43 +000026766 Reviewed by Darin Adler.
jchaffraix@webkit.orge6915392008-08-26 10:27:33 +000026767
26768 Bug 20247: setAttributeNode() does not work when attribute name has a capital letter in it
26769 https://bugs.webkit.org/show_bug.cgi?id=20247
26770
26771 <rdar://problem/6118218>
26772
26773 Add a boolean parameter to getAttributeItem to choose between case sensitive and case insensitive
26774 check. This keeps the behaviour for setAttribute / hasAttribute (case sensitive) and getAttribute
26775 (case insensitive for HTML elements).
26776
26777 Test: fast/dom/Element/getAttribute-check-case-sensitivity.html
26778
26779 * dom/Element.cpp:
26780 (WebCore::Element::getAttribute):
26781 * dom/NamedAttrMap.cpp:
26782 (WebCore::NamedAttrMap::getNamedItem):
26783 (WebCore::NamedAttrMap::getAttributeItem):
26784 * dom/NamedAttrMap.h:
26785
weinig@apple.comb4ce06e2008-08-26 01:52:51 +0000267862008-08-25 Sam Weinig <sam@webkit.org>
26787
weinig@apple.com8d3ea722008-08-26 04:19:07 +000026788 Reviewed by Oliver Hunt.
26789
26790 Fix for https://bugs.webkit.org/show_bug.cgi?id=20514
26791 <rdar://problem/6174096>
26792 Treat SVG images as dirty when drawing to a canvas.
26793
26794 Test: http/tests/security/canvas-remote-read-svg-image.html
26795
26796 * html/CanvasRenderingContext2D.cpp:
26797 (WebCore::CanvasRenderingContext2D::drawImage):
26798 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
26799 * platform/graphics/Image.h:
26800 (WebCore::Image::isSVGImage):
26801 * svg/graphics/SVGImage.h:
26802 (WebCore::SVGImage::isSVGImage):
26803
268042008-08-25 Sam Weinig <sam@webkit.org>
26805
weinig@apple.comb4ce06e2008-08-26 01:52:51 +000026806 Reviewed by Mark Rowe.
26807
26808 Fix https://bugs.webkit.org/show_bug.cgi?id=20377
26809 Leak in XMLHttpRequest.
26810
26811 * xml/XMLHttpRequest.cpp:
26812 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
26813
beidson@apple.com46421212008-08-25 21:48:56 +0000268142008-08-25 Brady Eidson <beidson@apple.com>
26815
26816 Reviewed by Anders
26817
26818 Speculative fix for <rdar://problem/6173217>
26819
26820 Moves the "clearArchivedResources()" call to exactly where it used to be in the old version of WebArchive code.
26821 Also, adds a null check for m_documentLoader since DocumentLoader::stopLoading() can end up clearing it, rendering
26822 the first null check invalid.
26823
26824 * loader/FrameLoader.cpp:
26825 (WebCore::FrameLoader::stopAllLoaders):
26826
26827
kmccullough@apple.com7b85fbb2008-08-25 21:28:40 +0000268282008-08-25 Kevin McCullough <kmccullough@apple.com>
26829
26830 Reviewed by Tim.
26831
26832 <rdar://problem/6157711> Heavy/Tree view selector is not grayed out if
26833 there is no profile, can cause crash
26834
26835 * page/inspector/ProfilesPanel.js:
26836
dino@apple.com1baeea62008-08-25 21:06:21 +0000268372008-08-25 Dean Jackson <dino@apple.com>
26838
26839 Reviewed by Dave Hyatt
26840
26841 Make sure 'inherit' is handled by transition property.
26842 https://bugs.webkit.org/show_bug.cgi?id=20513
26843
26844 Test: transitions/inherit.html
26845 Test: transitions/inherit-other-props.html
26846
26847 * css/CSSStyleSelector.cpp:
26848 fix macro to check existence of list before getting size
26849
andersca@apple.com2866b8302008-08-25 20:56:21 +0000268502008-08-25 Anders Carlsson <andersca@apple.com>
26851
26852 Reviewed by Mark.
26853
26854 <rdar://problem/6149787> crash @ com.apple.JavaScriptCore: WTF::callOnMainThread + 37.
26855
26856 Initialize threading in the call to WebCoreObjCFinalizeOnMainThread. We currently assume
26857 (safely) that any class that needs finalization on the main thread will also need to be deallocated
26858 on the main thread, and calling initializeThreading from WebCoreObjCFinalizeOnMainThread instead of
26859 calling it from WebCoreObjCScheduleDeallocateOnMainThread seems safer.
26860
26861 * platform/mac/WebCoreObjCExtras.c:
26862 (WebCoreObjCFinalizeOnMainThread):
26863
antti@apple.com60381cb2008-08-25 20:41:11 +0000268642008-08-25 Antti Koivisto <antti@apple.com>
26865
26866 Reviewed by Dan Bernstein.
26867
26868 Rename CachedResource::referenced() to CachedResource::hasClients() to
26869 match previous ref() -> addClient() rename.
26870
26871 * loader/Cache.cpp:
26872 (WebCore::Cache::pruneLiveResources):
26873 (WebCore::Cache::pruneDeadResources):
26874 (WebCore::Cache::remove):
26875 (WebCore::Cache::getStatistics):
26876 (WebCore::Cache::dumpLRULists):
26877 * loader/CachedResource.cpp:
26878 (WebCore::CachedResource::addClient):
26879 (WebCore::CachedResource::removeClient):
26880 (WebCore::CachedResource::setDecodedSize):
26881 (WebCore::CachedResource::setEncodedSize):
26882 * loader/CachedResource.h:
26883 (WebCore::CachedResource::hasClients):
26884 (WebCore::CachedResource::canDelete):
26885
timothy@apple.com7d809242008-08-25 18:33:05 +0000268862008-08-25 Anthony Ricaud <rik24d@gmail.com>
26887
26888 Add a missing Inspector localized string for "other".
26889
26890 https://bugs.webkit.org/show_bug.cgi?id=20509
26891
26892 Reviewed by Tim Hatcher.
26893
26894 * English.lproj/localizedStrings.js:
26895
kmccullough@apple.com560f5fe2008-08-25 18:18:01 +0000268962008-08-22 Kevin McCullough <kmccullough@apple.com>
26897
26898 Reviewed by Geoff, Mark and Tim.
26899
26900 <rdar://problem/6150623> JSProfiler: It would be nice if the profiles
26901 in the console said what file and line number they came from
26902 - Lay the foundation for getting line numbers and other data from the
26903 JavaScript engine.
26904
26905 * ForwardingHeaders/VM: Added.
26906 * ForwardingHeaders/VM/Machine.h: Added.
26907 * page/Console.cpp: Gather the line number and file information when
26908 profileEnd has been called, but don't use it until didFinishProfiling is
26909 called. We won't need to wait once we remove the profiler "zombie" mode
26910 which this patch helps pave the foundation for.
26911 (WebCore::Console::Console):
26912 (WebCore::Console::profileEnd):
26913 (WebCore::Console::finishedProfiling):
26914 * page/Console.h:
26915 * page/InspectorController.cpp: Modify calls to
26916 addProfileMessageToConsole to satisfy the new arguments it takes.
26917 (WebCore::InspectorController::finishedProfiling):
26918 (WebCore::InspectorController::addProfile):
26919 (WebCore::InspectorController::addProfileMessageToConsole):
26920 (WebCore::InspectorController::finishedProfiling):
26921 * page/InspectorController.h:
26922
hausmann@webkit.orgf305df42008-08-25 10:06:53 +0000269232008-08-25 Holger Hans Peter Freyther <zecke@selfish.org>
26924
26925 Reviewed by Simon.
26926
26927 [inspector] Update the WebKit.qrc Qt resources file
26928 Catchup with the changes in the directory.
26929
26930 * page/inspector/WebKit.qrc:
26931
hausmann@webkit.org5f13af32008-08-25 07:10:22 +0000269322008-08-25 Dirk Schulze <vbs85@gmx.de>
26933
26934 Reviewed by Simon.
26935
26936 Transformed the radian to degree, to get rotate()
26937 in canvas work as expected.
26938
26939 [Qt] Canvas.rotate() doesn't work
26940 https://bugs.webkit.org/show_bug.cgi?id=20496
26941
26942 * platform/graphics/qt/GraphicsContextQt.cpp:
26943 (WebCore::GraphicsContext::rotate):
26944
sfalken@apple.com9d442862008-08-25 05:43:33 +0000269452008-08-24 Steve Falkenburg <sfalken@apple.com>
26946
26947 Add a "last chance" WM_TIMER to the Windows shared timer.
26948
26949 The last chance timer fires every 5 seconds to run any lost WM_TIMER based timers.
26950 Failure to fire a timer is fatal to the cross-platform Timer code, since it won't re-schedule
26951 timers if a timer with an earlier expiration is already pending. This results in no timers
26952 firing from that point on.
26953
26954 We lose WM_TIMER messages occasionally (in the neighborhood of 1 per hour) probably due to a
26955 buggy window message hook.
26956
26957 This timer will start when the first WM_TIMER is scheduled, and will
26958 fire every 5 seconds thereafter, causing any lost timers to be fired.
26959
26960 Found this via one of its symptoms: leaking WebFrames. The fix prevents timers from stalling
26961 and prevents the WebFrame leak.
26962
26963 Reviewed by Darin Adler, Geoff Garen.
26964
26965 * platform/win/SharedTimerWin.cpp:
26966 (WebCore::):
26967 (WebCore::TimerWindowWndProc):
26968 (WebCore::setSharedTimerFireTime):
26969
mitz@apple.com771fb752008-08-25 03:22:44 +0000269702008-08-24 Dan Bernstein <mitz@apple.com>
26971
26972 Reviewed by Darin Adler.
26973
26974 - fix <rdar://problem/6065547> REGRESSION (r34879): "Subject" in unread emails in Yahoo mail is not shown in bold
26975
26976 Test: fast/css/font-property-priority.html
26977
26978 * css/CSSParser.cpp:
26979 (WebCore::CSSParser::parseValue): Changed to pass the 'important' flag
26980 to the font-property-parsing functions.
26981 (WebCore::CSSParser::parseFontStyle): Added an 'important' argument and
26982 changed to use it rather than the m_important member.
26983 (WebCore::CSSParser::parseFontVariant): Ditto.
26984 (WebCore::CSSParser::parseFontWeight): Ditto.
26985 * css/CSSParser.h:
26986
timothy@apple.com4cea2632008-08-24 22:28:44 +0000269872008-08-24 Timothy Hatcher <timothy@apple.com>
26988
26989 Fixes a bug where the Inspector's UI would not animate or
26990 fully function because JavaScript timeouts, intervals and
26991 CSS animation timers where not firing while paused at a
26992 a breakpoint in the inspected page.
26993
26994 https://bugs.webkit.org/show_bug.cgi?id=20042
26995
26996 Reviewed by Darin Adler.
26997
26998 Test: manual-tests/inspector/forzen-ui-while-paused.html
26999
27000 * page/JavaScriptDebugServer.cpp:
27001 (WebCore::JavaScriptDebugServer::pauseIfNeeded):
27002 Add a call to TimerBase::fireTimersInNestedEventLoop before
27003 spinning the EventLoop.
27004
rwlbuis@webkit.org8a772442008-08-24 18:07:32 +0000270052008-08-24 Rob Buis <buis@kde.org>
27006
27007 Reviewed by Sam Weinig.
27008
27009 https://bugs.webkit.org/show_bug.cgi?id=20324
27010 A change in SVG Glyph wont show up
27011
27012 Invalidate the glyph cache when the d attribute is set.
27013
27014 Test: svg/custom/glyph-setting-d-attribute.svg
27015
27016 * svg/SVGGlyphElement.cpp:
27017 (WebCore::SVGGlyphElement::invalidateGlyphCache):
27018 (WebCore::SVGGlyphElement::parseMappedAttribute):
27019 (WebCore::SVGGlyphElement::insertedIntoDocument):
27020 (WebCore::SVGGlyphElement::removedFromDocument):
27021 * svg/SVGGlyphElement.h:
27022
mitz@apple.com5b2c3cc2008-08-24 09:18:39 +0000270232008-08-24 Dan Bernstein <mitz@apple.com>
27024
27025 Reviewed by Sam Weinig.
27026
27027 - fix https://bugs.webkit.org/show_bug.cgi?id=13864
27028 <rdar://problem/5451470> REGRESSION: Uninitialized value in RenderBlock::calcInlinePrefWidths()
27029
27030 * rendering/RenderText.cpp:
27031 (WebCore::RenderText::trimmedPrefWidths): Moved the assignment to
27032 beginWS and endWS before the early return to ensure that they are
27033 initialized in that case.
27034
cwzwarich@webkit.org53ddf172008-08-23 08:16:54 +0000270352008-08-23 Cameron Zwarich <cwzwarich@uwaterloo.ca>
27036
27037 Rubber-stamped by Mark Rowe.
27038
27039 Remove modelines.
27040
27041 * WebCore.pro:
27042 * bridge/testbindings.cpp:
27043 * dom/DocPtr.h:
27044 * loader/SubstituteData.h:
27045 * page/Chrome.cpp:
27046 * page/Chrome.h:
27047 * page/ChromeClient.h:
27048 * page/Frame.h:
27049 * page/FrameLoadRequest.h:
27050 * page/FrameTree.cpp:
27051 * page/FrameTree.h:
27052 * page/Page.h:
27053 * page/mac/ChromeMac.mm:
27054 * platform/network/HTTPHeaderMap.h:
27055 * platform/network/ResourceErrorBase.cpp:
27056 * platform/network/ResourceErrorBase.h:
27057 * platform/network/ResourceHandleInternal.h:
27058 * platform/network/ResourceRequestBase.cpp:
27059 * platform/network/ResourceRequestBase.h:
27060 * platform/network/ResourceResponseBase.cpp:
27061 * platform/network/ResourceResponseBase.h:
27062 * platform/network/cf/ResourceError.h:
27063 * platform/network/cf/ResourceRequest.h:
27064 * platform/network/cf/ResourceRequestCFNet.h:
27065 * platform/network/cf/ResourceResponse.h:
27066 * platform/network/cf/ResourceResponseCFNet.h:
27067 * platform/network/curl/ResourceError.h:
27068 * platform/network/curl/ResourceRequest.h:
27069 * platform/network/curl/ResourceResponse.h:
27070 * platform/network/mac/ResourceError.h:
27071 * platform/network/mac/ResourceErrorMac.mm:
27072 * platform/network/mac/ResourceRequest.h:
27073 * platform/network/mac/ResourceRequestMac.mm:
27074 * platform/network/mac/ResourceResponse.h:
27075 * platform/network/mac/ResourceResponseMac.mm:
27076 * platform/network/qt/ResourceError.h:
27077 * platform/network/qt/ResourceRequest.h:
27078 * platform/network/qt/ResourceResponse.h:
27079 * platform/network/soup/CookieJarSoup.cpp:
27080 * platform/network/soup/ResourceError.h:
27081 * platform/network/soup/ResourceRequest.h:
27082 * platform/network/soup/ResourceResponse.h:
27083
mitz@apple.com57a2f482008-08-23 07:16:41 +0000270842008-08-23 Dan Bernstein <mitz@apple.com>
27085
27086 Reviewed by Dave Hyatt.
27087
27088 - fix <rdar://problem/6065143> Reflowed image in first line of table doesn't affect baseline
27089
27090 Test: fast/table/vertical-align-baseline.html
27091
27092 * rendering/RenderTable.cpp:
27093 (WebCore::RenderTable::getBaselineOfFirstLineBox): Added. Returns the
27094 baseline of the first table row, if there is one, -1 otherwise.
27095 * rendering/RenderTable.h:
27096 * rendering/RenderTableCell.cpp:
27097 (WebCore::RenderTableCell::baselinePosition): Changed to follow the
27098 CSS2.1 definition of the baseline of a table cell.
27099 * rendering/RenderTableSection.cpp:
27100 (WebCore::RenderTableSection::getBaselineOfFirstLineBox): Added. Returns
27101 the baseline of the first row in the section.
27102 * rendering/RenderTableSection.h:
27103
jhoneycutt@apple.com88af18d2008-08-22 23:44:32 +0000271042008-08-18 Jon Honeycutt <jhoneycutt@apple.com>
27105
27106 Add SPI to make a Windows WebView transparent.
27107
27108 Reviewed by Dan Bernstein.
27109
27110 * platform/graphics/GraphicsContext.h: Add a parameter, hasAlpha, that
27111 determines whether the created context has an alpha channel.
27112 * platform/graphics/win/GraphicsContextCGWin.cpp:
27113 (WebCore::CGContextWithHDC):
27114
timothy@apple.comb63d1172008-08-22 18:39:42 +0000271152008-08-22 Timothy Hatcher <timothy@apple.com>
27116
timothy@apple.com964022d2008-08-22 20:35:20 +000027117 Rolls out r35834 because it caused a regression in the Inspector's
27118 Console where some expressions always threw a syntax error.
27119
27120 https://bugs.webkit.org/show_bug.cgi?id=20487
27121
27122 * page/inspector/Console.js:
27123 (Console.prototype._evalInInspectedWindow): Removes parenthesis
27124 around the expression.
27125
271262008-08-22 Timothy Hatcher <timothy@apple.com>
27127
timothy@apple.com056d4782008-08-22 18:39:52 +000027128 Makes getStyleProperty return a value for the overflow property
27129 when overflow-x and overflow-y are equal.
27130
27131 https://bugs.webkit.org/show_bug.cgi?id=20485
27132
27133 Reviewed by Dan Bernstein.
27134
27135 Test: fast/css/overflow-property.html
27136
27137 * css/CSSMutableStyleDeclaration.cpp:
27138 (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
27139
271402008-08-22 Timothy Hatcher <timothy@apple.com>
27141
timothy@apple.comb63d1172008-08-22 18:39:42 +000027142 Fixes a bug where while editing in the Inspector the
27143 sidebar scroll position would jump to the top.
27144
27145 https://bugs.webkit.org/show_bug.cgi?id=20484
27146
27147 Reviewed by Darin Adler.
27148
27149 * page/inspector/treeoutline.js:
27150 (TreeOutline._removeChildren): Remove the offsetTop call that
27151 was forcing a layout, since layout causes scroll positions
27152 to be clamped to the new scrollHeight/Width. Layout will happen
27153 normally when needed.
27154
kevino@webkit.org8271c842008-08-22 16:25:52 +0000271552008-08-22 Kevin Ollivier <kevino@theolliviers.com>
27156
27157 wx build fix. Add AccessibilityTable sources.
27158
27159 * WebCoreSources.bkl:
27160
mitz@apple.com9befc872008-08-22 06:29:33 +0000271612008-08-21 Dan Bernstein <mitz@apple.com>
27162
27163 Reviewed by Jon Honeycutt and Alexey Proskuryakov.
27164
27165 - fix <rdar://problem/6162701> WebKit should correct Geeza Pro's font metrics
27166
27167 Test: platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment.html
27168
27169 * platform/graphics/mac/SimpleFontDataMac.mm:
27170 (WebCore::SimpleFontData::platformInit): Add 8% to Geeza Pro's reported
27171 ascent and 100% to its reported descent.
27172
mrowe@apple.comac9b6a52008-08-22 02:07:54 +0000271732008-08-21 Kalle Vahlman <kalle.vahlman@movial.com>
27174
27175 Reviewed by Darin Adler.
27176
mrowe@apple.com22eaa172008-08-22 02:10:15 +000027177 https://bugs.webkit.org/show_bug.cgi?id=20267
mrowe@apple.comac9b6a52008-08-22 02:07:54 +000027178 [GTK] Crash on some pages due to a plugin
27179
27180 Fix handling of badly formatted and empty plugin mime descriptions
27181
27182 * plugins/gtk/PluginPackageGtk.cpp:
27183 (WebCore::PluginPackage::fetchInfo):
27184
mrowe@apple.com798b3432008-08-22 02:07:48 +0000271852008-08-21 Kevin Watters <kevinwatters@gmail.com>
27186
27187 Reviewed by Darin Adler.
27188
27189 Follow other ports (and IE) in ImageSourceWx.cpp never to return an
27190 animated GIF frame duration of less than 50ms.
27191
27192 * platform/graphics/wx/ImageSourceWx.cpp:
27193 (WebCore::ImageSource::frameDurationAtIndex):
27194
britto@apple.com8ed72772008-08-22 00:39:39 +0000271952008-08-21 Maxime Britto <britto@apple.com>
27196
27197 Reviewed by Kevin McCullough.
27198
27199 Test: fast/events/autoscroll-nonscrollable-iframe-in-scrollable-div.html
27200 https://bugs.webkit.org/show_bug.cgi?id=20451
27201
27202 rdar://problem/6166435 Inspector doesn't auto scroll when selecting text (20451)
27203 When we climb up the rendering tree looking for a scrollable renderer, we need to be able to jump outside of an iframe.
27204 This way we can see if what is embedding the iframe can be scrolled even if the iframe content can't.
27205
27206 * page/EventHandler.cpp:
27207 (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.
27208
27209 (WebCore::EventHandler::handleMousePressEvent): ditto
27210
timothy@apple.com5d492192008-08-21 23:54:01 +0000272112008-08-21 Anthony Ricaud <rik24d@gmail.com>
27212
27213 Small optimization for when the dividers in the Inspector's
27214 Resources panel are updated.
27215
27216 Reviewed by Tim Hatcher.
27217
27218 * page/inspector/ResourcesPanel.js:
27219 (WebInsector.ResourcesPanel.prototype._updateGraphDividersIfNeeded):
27220 Combind a for loop and clone the divider element.
27221
dino@apple.comaa75e4c2008-08-21 23:35:23 +0000272222008-08-21 Chris Marrin <cmarrin@apple.com>
27223
27224 Allow 0 (without units) for Time eg. duration
27225 Fix for https://bugs.webkit.org/show_bug.cgi?id=20467
27226
27227 Reviewed by Dave Hyatt.
27228
27229 Test: css1/units/zero-duration-without-units.html
27230
27231 * css/CSSParser.cpp:
27232 (WebCore::CSSParser::validUnit):
27233
timothy@apple.com29c12d02008-08-21 20:12:47 +0000272342008-08-21 Timothy Hatcher <timothy@apple.com>
27235
timothy@apple.comca11cd82008-08-21 20:13:12 +000027236 Make deleting all text while editing a DOM attribute in
27237 the Inspector delete the attribute. This also fixes
27238 an exception that would happen before.
27239
27240 https://bugs.webkit.org/show_bug.cgi?id=20472
27241
27242 Reviewed by Kevin McCullough.
27243
27244 * page/inspector/ElementsPanel.js:
27245 (WebInspector.DOMNodeTreeElement.prototype._attributeEditingCommitted):
27246 Don't check for hasAttributes on the parseElement, continuing
27247 through the function will correctly remove the attribute.
27248 If the parseElement is null, call _editingCancelled not
27249 editingCancelled, this fixes an exception.
27250
272512008-08-21 Timothy Hatcher <timothy@apple.com>
27252
timothy@apple.comde831cf2008-08-21 20:12:59 +000027253 Update the Inspector's Metrics pane when editing in
27254 the Styles pane. This makes sure the metrics shown
27255 always match what the Styles pane shows.
27256
27257 https://bugs.webkit.org/show_bug.cgi?id=20470
27258
27259 Reviewed by Kevin McCullough.
27260
27261 * page/inspector/ElementsPanel.js:
27262 (WebInspector.ElementsPanel): Add event listeners for
27263 the "style edited" and "style property toggled" events,
27264 so the Metrics pane is updated.
27265 (WebInspector.ElementsPanel.prototype._stylesPaneEdited):
27266 Update the Metrics pane.
27267 * page/inspector/StylesSidebarPane.js:
27268 (WebInspector.StylePropertyTreeElement.prototype.toggleEnabled):
27269 Dispatch the "style property toggled" event.
27270 (WebInspector.StylePropertyTreeElement.prototype.editingCancelled):
27271 Dispatch the "style edited" event when the CSS text is restored.
27272 (WebInspector.StylePropertyTreeElement.prototype.applyStyleText):
27273 Dispatch the "style edited" event.
27274
272752008-08-21 Timothy Hatcher <timothy@apple.com>
27276
timothy@apple.com29c12d02008-08-21 20:12:47 +000027277 Make the Inspector's Metrics sidebar pane editable.
27278
27279 https://bugs.webkit.org/show_bug.cgi?id=17218
27280 rdar://problem/5732818
27281
27282 Reviewed by Kevin McCullough.
27283
27284 * page/inspector/ElementsPanel.js:
27285 (WebInspector.ElementsPanel): Add an event listener for
27286 the "metrics edited" event, so the Styles pane is updated.
27287 * page/inspector/MetricsSidebarPane.js:
27288 (WebInspector.MetricsSidebarPane.prototype.update): Remember the node
27289 so future updates work. Add a double click event listener for the
27290 metric values to start editing.
27291 (WebInspector.MetricsSidebarPane.prototype.startEditing):
27292 Call WebInspector.startEditing with some context.
27293 (WebInspector.MetricsSidebarPane.prototype.editingCancelled):
27294 (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
27295 Set the user input on the elements inline style. Fire the
27296 "metrics edited" event.
27297
sfalken@apple.com7e6e5392008-08-21 18:42:44 +0000272982008-08-21 Steve Falkenburg <sfalken@apple.com>
27299
27300 Fix a race condition in Windows timer code.
27301 Timer function could end up being called with a 0 timer, leading to a Windows exception.
27302
27303 Don't post a timer message if one is already pending.
27304
27305 Reviewed by Ada Chan.
27306
27307 * platform/win/SharedTimerWin.cpp:
27308 (WebCore::TimerWindowWndProc):
27309 (WebCore::clearTimer):
27310 (WebCore::queueTimerProc):
27311 (WebCore::setSharedTimerFireTime):
27312
timothy@apple.com8d15bcf2008-08-21 16:33:17 +0000273132008-08-21 Anthony Ricaud <rik24d@gmail.com>
27314
timothy@apple.com493212c72008-08-21 16:36:06 +000027315 After trying to add the expression, try again with quotes for
27316 easier edition.
27317
27318 https://bugs.webkit.org/show_bug.cgi?id=20466
27319
27320 Reviewed by Tim Hatcher.
27321
27322 * page/inspector/ObjectPropertiesSection.js: Added an
27323 evaluateExpression function.
27324
273252008-08-21 Anthony Ricaud <rik24d@gmail.com>
27326
timothy@apple.com8d15bcf2008-08-21 16:33:17 +000027327 Perform Inspector searches on search event to clear results when
27328 clicking the cross to empty it. Delete the lastQuery when the field
27329 is emptied in order to perform the search if exactly the same query
27330 is entered next.
27331
27332 https://bugs.webkit.org/show_bug.cgi?id=20462
27333
27334 Reviewed by Tim Hatcher.
27335
27336 * page/inspector/inspector.js:
27337
jmalonzo@webkit.orgdd470402008-08-21 11:22:51 +0000273382008-08-21 Marco Barisione <marco.barisione@collabora.co.uk>
27339
27340 Reviewed by Mark Rowe.
27341
27342 http://bugs.webkit.org/show_bug.cgi?id=19656
27343 [SOUP] The gio code should call didFail() instead of
27344 didFinishLoading() in case of error
27345
27346 In case of error call didFail() instead of didReceiveResponse() and
27347 didFinishLoading().
27348
27349 * platform/network/soup/ResourceHandleSoup.cpp:
27350 (WebCore::networkErrorForFile):
27351 (WebCore::readCallback):
27352 (WebCore::openCallback):
27353 (WebCore::queryInfoCallback):
27354
mrowe@apple.com72a95b12008-08-21 04:01:51 +0000273552008-08-20 Mark Rowe <mrowe@apple.com>
27356
mrowe@apple.com4e593f42008-08-21 06:52:42 +000027357 Reviewed by Jon Honeycutt.
27358
27359 Fix build failure.
27360
27361 * bridge/c/c_instance.cpp:
27362 (KJS::Bindings::CInstance::getPropertyNames): Declare count as uint32_t rather than unsigned
27363 as that is what NPEnumerationFunctionPtr is declared as accepting.
27364
273652008-08-20 Mark Rowe <mrowe@apple.com>
27366
mrowe@apple.com72a95b12008-08-21 04:01:51 +000027367 Reviewed by Dan Bernstein.
27368
27369 Build fix. Handle kCGInterpolationMedium in switch statements if it is available.
27370
27371 * platform/graphics/GraphicsContext.h:
27372 (WebCore::):
27373 * platform/graphics/cg/GraphicsContextCG.cpp:
27374 (WebCore::GraphicsContext::setImageInterpolationQuality):
27375 (WebCore::GraphicsContext::imageInterpolationQuality):
27376
mitz@apple.comaa938792008-08-21 00:33:29 +0000273772008-08-20 Dan Bernstein <mitz@apple.com>
27378
27379 Rubber-stamped by John Sullivan.
27380
27381 - rename shouldUpdateWhileHidden to shouldUpdateWhileOffscreen and
27382 rename related methods and variables accordingly.
27383
27384 * WebCore.base.exp:
27385 * page/FrameView.cpp:
27386 (WebCore::FrameViewPrivate::FrameViewPrivate):
27387 (WebCore::FrameView::shouldUpdateWhileOffscreen):
27388 (WebCore::FrameView::setShouldUpdateWhileOffscreen):
27389 * page/FrameView.h:
27390 * platform/ScrollView.h:
27391 * platform/mac/ScrollViewMac.mm:
27392 (WebCore::ScrollView::updateContents):
27393
beidson@apple.com2ace6b12008-08-21 00:13:12 +0000273942008-08-20 Brady Eidson <beidson@apple.com>
27395
27396 Reviewed by Mitzpettel
27397
27398 <rdar://problem/6163636> - Many images broken in Mail
27399
27400 This can be traced back to the preload scanner. With that change, CachedResources are created a lot
27401 sooner than before and confuse the WebArchive machinery.
27402
27403 When referencing WebArchive subresources directly through the WebKit API it is appropriate to ignore
27404 such CachedResources since they are placeholders and have not been submitted to the ResourceLoadDelegate
27405 machinery and nothing is known about where the data will eventually come from.
27406
27407 * loader/DocumentLoader.cpp:
27408 (WebCore::DocumentLoader::subresource): Ignore a CachedResource if its preloadResult is
27409 CachedResource::PreloadReferenced.
27410
zecke@webkit.orga8fa0e12008-08-20 22:50:39 +0000274112008-08-20 Holger Hans Peter Freyther <zecke@selfish.org>
27412
27413 Unreviewed compile fix
27414
27415 Catch up with the JSValue::type elimination.
27416
27417 * bridge/qt/qt_instance.cpp:
27418 (KJS::Bindings::QtRuntimeObjectImp::construct):
27419 (KJS::Bindings::QtInstance::defaultValue):
27420 * bridge/qt/qt_runtime.cpp:
27421 (KJS::Bindings::QtRuntimeConnectionMethod::call):
27422
mrowe@apple.com2d74ec92008-08-20 22:15:53 +0000274232008-08-20 Chris Teague <chris.teague@gmail.com>
27424
27425 Reviewed by Mark Rowe.
27426
27427 Fix https://bugs.webkit.org/show_bug.cgi?id=20449
27428 Bug 20449: Build fails if LOW_BANDWIDTH_DISPLAY is defined
27429
27430 * ChangeLog:
27431 * loader/FrameLoader.cpp:
27432 (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
27433
simon.fraser@apple.combe1d24c2008-08-20 21:57:22 +0000274342008-08-20 Simon Fraser <simon.fraser@apple.com>
27435
27436 Reviewed by Dave Hyatt
27437
27438 getComputedStyle() for webkitTransform should return a transform
27439 that does not have the transform origin baked into it.
27440 https://bugs.webkit.org/show_bug.cgi?id=20464
27441
27442 Test: fast/css/getComputedStyle-transform.html
27443
27444 * css/CSSComputedStyleDeclaration.cpp:
27445 (WebCore::computedTransform):
27446 * rendering/style/RenderStyle.cpp:
27447 (WebCore::RenderStyle::applyTransform):
27448 * rendering/style/RenderStyle.h:
27449
andersca@apple.com021ce772008-08-20 21:04:12 +0000274502008-08-20 Josh Aas <joshmoz@gmail.com>
27451
27452 Reviewed and landed by Anders.
27453
27454 <rdar://problem/6163636>
27455 rename NPCocoaEvent's "event" struct to "data" (20446)
27456
27457 * bridge/npapi.h:
27458 (_NPCocoaEvent::):
27459
bdakin@apple.com699d13d2008-08-20 20:46:28 +0000274602008-08-20 Beth Dakin <bdakin@apple.com>
27461
darin@apple.com07c80c62008-09-05 18:15:43 +000027462 Reviewed by Darin Adler.
bdakin@apple.com699d13d2008-08-20 20:46:28 +000027463
27464 Fix for <rdar://problem/6145626>
27465 This patch fixes a number of remaining problems getting
27466 disconnected frames to work correctly with markAllMatchesForText()
27467 and findString(). Details inline.
27468
27469 This was a static helper function in Frame, but this patch requires
27470 the same functionality in Editor, so I just added it as a function
27471 on Node.
27472 * dom/Node.cpp:
27473 (WebCore::Node::isInShadowTree):
27474 * dom/Node.h:
27475
27476 * editing/Editor.cpp:
27477 (WebCore::Editor::insideVisibleArea): Returns false if
27478 excludeFromTextSearch() is true.
27479
27480 In a normal (non-disconnected) frame, findString returns a range of
27481 the document node if the text is not found in the frame. I changed
27482 firstVisibleRange and lastVisibleRange to match that behavior when
27483 the text is not found
27484 (WebCore::Editor::firstVisibleRange):
27485 (WebCore::Editor::lastVisibleRange):
27486
27487 Here are the bulk of the changes in the patch. A lot of text was
27488 not being found in disconnected frames because I failed to account
27489 for all of the possible problems associated with shadow trees. That
27490 is fixed here.
27491 (WebCore::Editor::nextVisibleRange):
27492 * editing/Editor.h:
27493
27494 excludeFromTextSearch() is new. It allows a WebKit client to mark a
27495 frame as not-text-searchable through SPI.
27496 * WebCore.base.exp:
27497 * page/Frame.cpp:
27498 (WebCore::Frame::excludeFromTextSearch):
27499 (WebCore::Frame::setExcludeFromTextSearch):
27500 (WebCore::FramePrivate::FramePrivate):
27501 * page/Frame.h:
27502 * page/FramePrivate.h:
27503
27504 (WebCore::Frame::findString):
27505 (WebCore::Frame::markAllMatchesForText): I kept running into an
27506 assertion failure in paining code because of the forced paint on
27507 empty visible rects.
27508
timothy@apple.com301befc2008-08-20 19:10:54 +0000275092008-08-20 Timothy Hatcher <timothy@apple.com>
27510
27511 Adds a positon box to the Inspector's Metrics sidebar
27512 pane. When an element is not statically positioned, there
27513 is now a position box that show top, right, bottom and
27514 left computed values.
27515
27516 Reviewed by Kevin McCullough.
27517
27518 * English.lproj/localizedStrings.js: Updated the strings.
27519 * page/inspector/MetricsSidebarPane.js:
27520 (WebInspector.MetricsSidebarPane.prototype.update):
27521 Renamed the boxPartValue function to createBoxPartElement
27522 and made it create the entire element. Made it understand
27523 how to get position style properties. Don't use the figure dash
27524 when 0px is used for positions, since the 0 is meaningful there.
27525 Instead use the figure dash when a position is auto.
27526 * page/inspector/inspector.css: Added a new rule for position.
27527
mrowe@apple.com37686d42008-09-04 00:10:39 +0000275282008-08-20 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.com2a5ecc02008-08-20 18:34:56 +000027529
27530 Reviewed by Beth Dakin
27531
27532 Qt build fix
27533
27534 * WebCore.pro:
27535
mitz@apple.comedaa9042008-08-20 18:28:07 +0000275362008-08-20 Dan Bernstein <mitz@apple.com>
27537
27538 Reviewed by Anders Carlsson.
27539
27540 - avoid using a deprecated NSScroller method on Leopard
27541
27542 * platform/mac/PlatformScrollBarMac.mm:
27543 (WebCore::PlatformScrollbar::updateThumbPosition):
27544 (WebCore::PlatformScrollbar::updateThumbProportion):
27545
jmalonzo@webkit.org6e0a3082008-08-20 11:40:31 +0000275462008-08-20 Jan Michael Alonzo <jmalonzo@webkit.org>
27547
27548 Reviewed by Oliver Hunt.
27549
27550 Gtk build fix
27551
27552 * GNUmakefile.am:
27553 * page/AccessibilityTable.cpp: Change nil to 0
27554 (WebCore::AccessibilityTable::cellForColumnAndRow):
27555
ap@webkit.org01aff702008-08-20 07:23:06 +0000275562008-08-19 Alexey Proskuryakov <ap@webkit.org>
27557
27558 Reviewed by Geoff Garen.
27559
27560 Bring back shared JSGlobalData and implicit locking, because too many clients rely on it.
27561
27562 * ForwardingHeaders/kjs/JSLock.h: Added.
27563 * WebCore.vcproj/WebCore.vcproj:
27564 * bindings/js/GCController.cpp:
27565 (WebCore::collect):
27566 (WebCore::GCController::gcTimerFired):
27567 (WebCore::GCController::garbageCollectNow):
27568 * bindings/js/JSCustomSQLStatementCallback.cpp:
27569 (WebCore::JSCustomSQLStatementCallback::handleEvent):
27570 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
27571 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
27572 * bindings/js/JSCustomSQLTransactionCallback.cpp:
27573 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
27574 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
27575 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
27576 * bindings/js/JSCustomVoidCallback.cpp:
27577 (WebCore::JSCustomVoidCallback::handleEvent):
27578 * bindings/js/JSCustomXPathNSResolver.cpp:
27579 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
27580 * bindings/js/JSDOMWindowBase.cpp:
27581 (WebCore::DOMWindowTimer::~DOMWindowTimer):
27582 (WebCore::JSDOMWindowBase::clear):
27583 (WebCore::JSDOMWindowBase::timerFired):
27584 * bindings/js/JSEventCustom.cpp:
27585 (WebCore::toJS):
27586 * bindings/js/JSEventListener.cpp:
27587 (WebCore::JSAbstractEventListener::handleEvent):
27588 * bindings/js/JSNSResolver.cpp:
27589 (WebCore::JSNSResolver::lookupNamespaceURI):
27590 * bindings/js/JSNodeFilterCondition.cpp:
27591 (WebCore::JSNodeFilterCondition::acceptNode):
27592 * bindings/js/ScheduledAction.cpp:
27593 (WebCore::ScheduledAction::execute):
27594 * bindings/js/ScriptController.cpp:
27595 (WebCore::ScriptController::evaluate):
27596 (WebCore::ScriptController::clearWindowShell):
27597 (WebCore::ScriptController::createHTMLEventHandler):
27598 (WebCore::ScriptController::createSVGEventHandler):
27599 (WebCore::ScriptController::initScript):
27600 (WebCore::ScriptController::updateDocument):
27601 (WebCore::ScriptController::bindingRootObject):
27602 (WebCore::ScriptController::windowScriptNPObject):
27603 (WebCore::ScriptController::createScriptObjectForPluginElement):
27604 (WebCore::ScriptController::clearScriptObjects):
27605 * bindings/js/ScriptControllerMac.mm:
27606 (WebCore::ScriptController::windowScriptObject):
27607 * bindings/objc/WebScriptObject.mm:
27608 (_didExecute):
27609 (-[WebScriptObject callWebScriptMethod:withArguments:]):
27610 (-[WebScriptObject evaluateWebScript:]):
27611 (-[WebScriptObject setValue:forKey:]):
27612 (-[WebScriptObject valueForKey:]):
27613 (-[WebScriptObject removeWebScriptKey:]):
27614 (-[WebScriptObject stringRepresentation]):
27615 (-[WebScriptObject webScriptValueAtIndex:]):
27616 (-[WebScriptObject setWebScriptValueAtIndex:value:]):
27617 (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
27618 * bridge/NP_jsobject.cpp:
27619 (_NPN_InvokeDefault):
27620 (_NPN_Invoke):
27621 (_NPN_Evaluate):
27622 (_NPN_GetProperty):
27623 (_NPN_SetProperty):
27624 (_NPN_RemoveProperty):
27625 (_NPN_HasProperty):
27626 (_NPN_HasMethod):
27627 (_NPN_Enumerate):
27628 * bridge/c/c_class.cpp:
27629 (KJS::Bindings::CClass::~CClass):
27630 (KJS::Bindings::CClass::methodsNamed):
27631 (KJS::Bindings::CClass::fieldNamed):
27632 * bridge/c/c_instance.cpp:
27633 (KJS::Bindings::CInstance::invokeMethod):
27634 (KJS::Bindings::CInstance::invokeDefaultMethod):
27635 (KJS::Bindings::CInstance::getPropertyNames):
27636 * bridge/c/c_runtime.cpp:
27637 (KJS::Bindings::CField::valueFromInstance):
27638 (KJS::Bindings::CField::setValueToInstance):
27639 * bridge/c/c_utility.cpp:
27640 (KJS::Bindings::convertValueToNPVariant):
27641 (KJS::Bindings::convertNPVariantToValue):
27642 * bridge/jni/jni_class.cpp:
27643 (JavaClass::JavaClass):
27644 (JavaClass::~JavaClass):
27645 * bridge/jni/jni_instance.cpp:
27646 (JavaInstance::stringValue):
27647 * bridge/jni/jni_jsobject.mm:
27648 (JavaJSObject::call):
27649 (JavaJSObject::eval):
27650 (JavaJSObject::getMember):
27651 (JavaJSObject::setMember):
27652 (JavaJSObject::removeMember):
27653 (JavaJSObject::getSlot):
27654 (JavaJSObject::setSlot):
27655 (JavaJSObject::toString):
27656 (JavaJSObject::convertValueToJObject):
27657 (JavaJSObject::convertJObjectToValue):
27658 * bridge/jni/jni_objc.mm:
27659 (KJS::Bindings::dispatchJNICall):
27660 * bridge/jni/jni_runtime.cpp:
27661 (appendClassName):
27662 (JavaMethod::signature):
27663 * bridge/jni/jni_runtime.h:
27664 (KJS::Bindings::JavaString::JavaString):
27665 (KJS::Bindings::JavaString::_commonInit):
27666 (KJS::Bindings::JavaString::~JavaString):
27667 (KJS::Bindings::JavaString::UTF8String):
27668 * bridge/jni/jni_utility.cpp:
27669 (KJS::Bindings::convertValueToJValue):
27670 * bridge/npruntime.cpp:
27671 (_NPN_GetStringIdentifier):
27672 * bridge/objc/objc_instance.mm:
27673 (ObjcInstance::moveGlobalExceptionToExecState):
27674 (ObjcInstance::invokeMethod):
27675 (ObjcInstance::invokeDefaultMethod):
27676 (ObjcInstance::setValueOfUndefinedField):
27677 (ObjcInstance::getValueOfUndefinedField):
27678 * bridge/objc/objc_runtime.mm:
27679 (ObjcField::valueFromInstance):
27680 (ObjcField::setValueToInstance):
27681 * bridge/objc/objc_utility.mm:
27682 (KJS::Bindings::convertValueToObjcValue):
27683 (KJS::Bindings::convertNSStringToString):
27684 (KJS::Bindings::convertObjcValueToValue):
27685 * bridge/qt/qt_instance.cpp:
27686 (KJS::Bindings::QtRuntimeObjectImp::removeFromCache):
27687 (KJS::Bindings::QtInstance::~QtInstance):
27688 (KJS::Bindings::QtInstance::getQtInstance):
27689 (KJS::Bindings::QtInstance::getRuntimeObject):
27690 * bridge/qt/qt_runtime.cpp:
27691 (KJS::Bindings::convertValueToQVariant):
27692 (KJS::Bindings::convertQVariantToValue):
27693 (KJS::Bindings::QtRuntimeMetaMethod::call):
27694 (KJS::Bindings::QtRuntimeConnectionMethod::call):
27695 (KJS::Bindings::QtConnectionObject::QtConnectionObject):
27696 (KJS::Bindings::QtConnectionObject::execute):
27697 * bridge/runtime.cpp:
27698 (KJS::Bindings::Instance::createRuntimeObject):
27699 * bridge/testbindings.cpp:
27700 (main):
27701 * bridge/testbindings.mm:
27702 (main):
27703 * bridge/testqtbindings.cpp:
27704 (main):
27705 * dom/Document.cpp:
27706 (WebCore::Document::~Document):
27707 * dom/Node.cpp:
27708 (WebCore::Node::setDocument):
27709 * history/CachedPage.cpp:
27710 (WebCore::CachedPage::CachedPage):
27711 (WebCore::CachedPage::restore):
27712 (WebCore::CachedPage::clear):
27713 * loader/FrameLoader.cpp:
27714 (WebCore::getString):
27715 * page/InspectorController.cpp:
27716 (WebCore::ConsoleMessage::ConsoleMessage):
27717 (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
27718 (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
27719 (WebCore::getResourceDocumentNode):
27720 (WebCore::search):
27721 (WebCore::inspectedWindow):
27722 (WebCore::wrapCallback):
27723 (WebCore::currentCallFrame):
27724 (WebCore::profiles):
27725 (WebCore::InspectorController::focusNode):
27726 (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
27727 (WebCore::InspectorController::addDatabaseScriptResource):
27728 (WebCore::InspectorController::addScriptProfile):
27729 * page/JavaScriptCallFrame.cpp:
27730 (WebCore::JavaScriptCallFrame::evaluate):
27731 * page/JavaScriptProfileNode.cpp:
27732 (WebCore::getTotalTime):
27733 (WebCore::getSelfTime):
27734 (WebCore::getTotalPercent):
27735 (WebCore::getSelfPercent):
27736 (WebCore::getNumberOfCalls):
27737 (WebCore::getChildren):
27738 (WebCore::getVisible):
27739 * page/Page.cpp:
27740 * page/mac/FrameMac.mm:
27741 * plugins/PluginView.cpp:
27742 (WebCore::PluginView::start):
27743 (WebCore::getString):
27744 (WebCore::PluginView::performRequest):
27745 (WebCore::PluginView::bindingInstance):
27746 * plugins/gtk/PluginViewGtk.cpp:
27747 (WebCore::PluginView::paint):
27748 (WebCore::PluginView::handleKeyboardEvent):
27749 (WebCore::PluginView::handleMouseEvent):
27750 (WebCore::PluginView::setNPWindowRect):
27751 (WebCore::PluginView::stop):
27752 (WebCore::PluginView::init):
27753 * plugins/qt/PluginViewQt.cpp:
27754 (WebCore::PluginView::setNPWindowRect):
27755 (WebCore::PluginView::stop):
27756 (WebCore::PluginView::init):
27757 * plugins/win/PluginViewWin.cpp:
27758 (WebCore::PluginView::dispatchNPEvent):
27759 (WebCore::PluginView::handleKeyboardEvent):
27760 (WebCore::PluginView::handleMouseEvent):
27761 (WebCore::PluginView::setNPWindowRect):
27762 (WebCore::PluginView::stop):
27763 * xml/XMLHttpRequest.cpp:
27764 (WebCore::XMLHttpRequest::clearResponse):
27765 (WebCore::XMLHttpRequest::didFinishLoading):
27766 (WebCore::XMLHttpRequest::didReceiveData):
27767
eric@webkit.orgbac93762008-08-19 23:33:07 +0000277682008-08-19 Eric Seidel <eric@webkit.org>
27769
27770 Reviewed by Geoff Garen.
27771
27772 Add the beginnings of Skia graphics support to WebCore
27773 as I try to begin the long process of un-forking the changes
27774 needed to WebCore to make Andriod's WebCore build.
27775
27776 I'll follow this up with actual *Skia.cpp files in a separate patch.
27777
27778 * platform/graphics/AffineTransform.h:
27779 * platform/graphics/FloatPoint.h:
27780 * platform/graphics/FloatRect.h:
27781 * platform/graphics/Gradient.h:
27782 * platform/graphics/GraphicsContext.h:
27783 * platform/graphics/Image.h:
27784 * platform/graphics/ImageBuffer.h:
27785 * platform/graphics/ImageSource.h:
27786 * platform/graphics/IntPoint.h:
27787 * platform/graphics/IntRect.h:
27788 * platform/graphics/Path.h:
27789 * platform/graphics/Pattern.h:
27790 * svg/graphics/SVGPaintServerPattern.h:
27791 * svg/graphics/SVGPaintServerSolid.h:
27792
sfalken@apple.com3f69b332008-08-19 22:34:37 +0000277932008-08-19 Steve Falkenburg <sfalken@apple.com>
27794
sfalken@apple.com45d22802008-08-19 22:46:31 +000027795 Fix Windows build more.
27796
27797 * WebCore.vcproj/WebCore.vcproj:
27798
277992008-08-19 Steve Falkenburg <sfalken@apple.com>
27800
sfalken@apple.com3f69b332008-08-19 22:34:37 +000027801 Fix Windows build.
27802
27803 * page/AccessibilityRenderObject.cpp:
27804 (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
27805
mrowe@apple.com37686d42008-09-04 00:10:39 +0000278062008-08-19 Chris Fleizach <cfleizach@apple.com>
cfleizach@apple.com7c7b5f32008-08-19 22:05:37 +000027807
27808 Reviewed by Beth Dakin.
27809
27810 <rdar://problem/4003764> Expose tables as AXTables
27811
27812 Tests: accessibility/table-attributes.html
27813 accessibility/table-cell-spans.html
27814 accessibility/table-cells.html
27815 accessibility/table-detection.html
27816 accessibility/table-sections.html
27817 accessibility/table-with-rules.html
27818
27819 * WebCore.xcodeproj/project.pbxproj:
27820 * page/AXObjectCache.cpp:
27821 (WebCore::AXObjectCache::get):
27822 * page/AccessibilityObject.h:
27823 (WebCore::):
27824 (WebCore::AccessibilityObject::isDataTable):
27825 (WebCore::AccessibilityObject::isTableRow):
27826 (WebCore::AccessibilityObject::isTableColumn):
27827 (WebCore::AccessibilityObject::isTableCell):
27828 * page/AccessibilityRenderObject.cpp:
27829 (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
27830 * page/AccessibilityTable.cpp: Added.
27831 (WebCore::AccessibilityTable::AccessibilityTable):
27832 (WebCore::AccessibilityTable::~AccessibilityTable):
27833 (WebCore::AccessibilityTable::create):
27834 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
27835 (WebCore::AccessibilityTable::clearChildren):
27836 (WebCore::AccessibilityTable::addChildren):
27837 (WebCore::AccessibilityTable::headerContainer):
27838 (WebCore::AccessibilityTable::columns):
27839 (WebCore::AccessibilityTable::rows):
27840 (WebCore::AccessibilityTable::rowHeaders):
27841 (WebCore::AccessibilityTable::columnHeaders):
27842 (WebCore::AccessibilityTable::cells):
27843 (WebCore::AccessibilityTable::columnCount):
27844 (WebCore::AccessibilityTable::rowCount):
27845 (WebCore::AccessibilityTable::cellForColumnAndRow):
27846 (WebCore::AccessibilityTable::roleValue):
27847 (WebCore::AccessibilityTable::accessibilityIsIgnored):
27848 (WebCore::AccessibilityTable::title):
27849 (WebCore::AccessibilityTable::isDataTable):
27850 * page/AccessibilityTable.h: Added.
27851 * page/AccessibilityTableCell.cpp: Added.
27852 (WebCore::AccessibilityTableCell::AccessibilityTableCell):
27853 (WebCore::AccessibilityTableCell::~AccessibilityTableCell):
27854 (WebCore::AccessibilityTableCell::create):
27855 (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
27856 (WebCore::AccessibilityTableCell::rowIndexRange):
27857 (WebCore::AccessibilityTableCell::columnIndexRange):
27858 * page/AccessibilityTableCell.h: Added.
27859 (WebCore::AccessibilityTableCell::isTableCell):
27860 (WebCore::AccessibilityTableCell::roleValue):
27861 * page/AccessibilityTableColumn.cpp: Added.
27862 (WebCore::AccessibilityTableColumn::AccessibilityTableColumn):
27863 (WebCore::AccessibilityTableColumn::~AccessibilityTableColumn):
27864 (WebCore::AccessibilityTableColumn::create):
27865 (WebCore::AccessibilityTableColumn::setParentTable):
27866 (WebCore::AccessibilityTableColumn::elementRect):
27867 (WebCore::AccessibilityTableColumn::size):
27868 (WebCore::AccessibilityTableColumn::children):
27869 (WebCore::AccessibilityTableColumn::headerObject):
27870 (WebCore::AccessibilityTableColumn::headerObjectForSection):
27871 (WebCore::AccessibilityTableColumn::addChildren):
27872 * page/AccessibilityTableColumn.h: Added.
27873 (WebCore::AccessibilityTableColumn::parentObject):
27874 (WebCore::AccessibilityTableColumn::roleValue):
27875 (WebCore::AccessibilityTableColumn::accessibilityIsIgnored):
27876 (WebCore::AccessibilityTableColumn::isTableColumn):
27877 (WebCore::AccessibilityTableColumn::setColumnIndex):
27878 (WebCore::AccessibilityTableColumn::columnIndex):
27879 * page/AccessibilityTableHeaderContainer.cpp: Added.
27880 (WebCore::AccessibilityTableHeaderContainer::AccessibilityTableHeaderContainer):
27881 (WebCore::AccessibilityTableHeaderContainer::~AccessibilityTableHeaderContainer):
27882 (WebCore::AccessibilityTableHeaderContainer::create):
27883 (WebCore::AccessibilityTableHeaderContainer::children):
27884 (WebCore::AccessibilityTableHeaderContainer::elementRect):
27885 (WebCore::AccessibilityTableHeaderContainer::size):
27886 (WebCore::AccessibilityTableHeaderContainer::addChildren):
27887 * page/AccessibilityTableHeaderContainer.h: Added.
27888 (WebCore::AccessibilityTableHeaderContainer::roleValue):
27889 (WebCore::AccessibilityTableHeaderContainer::setParentTable):
27890 (WebCore::AccessibilityTableHeaderContainer::parentObject):
27891 (WebCore::AccessibilityTableHeaderContainer::accessibilityIsIgnored):
27892 * page/AccessibilityTableRow.cpp: Added.
27893 (WebCore::AccessibilityTableRow::AccessibilityTableRow):
27894 (WebCore::AccessibilityTableRow::~AccessibilityTableRow):
27895 (WebCore::AccessibilityTableRow::create):
27896 (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
27897 (WebCore::AccessibilityTableRow::headerObject):
27898 * page/AccessibilityTableRow.h: Added.
27899 (WebCore::AccessibilityTableRow::isTableRow):
27900 (WebCore::AccessibilityTableRow::roleValue):
27901 (WebCore::AccessibilityTableRow::setRowIndex):
27902 (WebCore::AccessibilityTableRow::rowIndex):
27903 * page/mac/AccessibilityObjectWrapper.mm:
27904 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
27905 (RoleEntry::):
27906 (-[AccessibilityObjectWrapper roleDescription]):
27907 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
27908 (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
27909 (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
27910
sfalken@apple.comb83d4692008-08-19 18:39:44 +0000279112008-08-19 Steve Falkenburg <sfalken@apple.com>
27912
27913 Build fix.
27914 Add buildfailed support to stop builds early (preventing inaccurate error messages).
27915 Add missing post-build rule to Release.
27916
27917 * WebCore.vcproj/QTMovieWin.vcproj:
27918
timothy@apple.comda3aa632008-08-19 18:33:02 +0000279192008-08-19 Keishi Hattori <casey.hattori@gmail.com>
27920
timothy@apple.com7d08c322008-08-19 18:33:27 +000027921 Added support for console.count in the inspector.
27922
27923 Reviewed by Geoff Garen.
27924
27925 * page/Console.cpp:
27926 (WebCore::Console::count):
27927 * page/Console.h:
27928 * page/Console.idl: Added console.count.
27929 * page/InspectorController.cpp:
27930 (WebCore::InspectorController::didCommitLoad): Clears m_counts.
27931 (WebCore::InspectorController::count): Updates the count number
27932 sing "title@source:line" as the identifier, and adds a
27933 message to the console.
27934 * page/InspectorController.h: Added m_counts.
27935
279362008-08-19 Keishi Hattori <casey.hattori@gmail.com>
27937
timothy@apple.comda3aa632008-08-19 18:33:02 +000027938 Clear console.time timers when changing page.
27939
27940 Reviewed by Geoff Garen.
27941
27942 * page/InspectorController.cpp:
27943 (WebCore::InspectorController::didCommitLoad):
27944
adele@apple.com1f2d7e02008-08-19 17:55:58 +0000279452008-08-19 Eric Carlson <eric.carlson@apple.com>
27946
27947 Reviewed by Adele.
27948
27949 Fix for <rdar://problem/6154695> Full-page movies flicker while playing
27950 https://bugs.webkit.org/show_bug.cgi?id=20404
27951
27952 Ignore setVisible() when visibility doesn't change.
27953
27954 * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
27955 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
27956 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
27957 (WebCore::MediaPlayerPrivate::setVisible):
27958
timothy@apple.com9d9821a2008-08-19 17:00:26 +0000279592008-08-19 Timothy Hatcher <timothy@apple.com>
27960
timothy@apple.come058a792008-08-19 17:01:12 +000027961 Fixes a bug in the Profile view where switching sort order, then
27962 switching from heavy to tree mode would show the tree in the
27963 previous sort order.
27964
27965 https://bugs.webkit.org/show_bug.cgi?id=20441
27966
27967 Reviewed by Kevin McCullough.
27968
27969 * page/inspector/ProfileView.js:
27970 (WebInspector.ProfileView.prototype._changeView): Call _sortProfile
27971 on the next profile before assigning it to this.profile.
27972 (WebInspector.ProfileView.prototype._sortData): Call _sortProfile.
27973 (WebInspector.ProfileView.prototype._sortProfile): Moves from
27974 _sortData and takes a profile argument. If the profile passed in
27975 matches the this.profile, then call refresh.
27976
279772008-08-18 Timothy Hatcher <timothy@apple.com>
27978
timothy@apple.come525e402008-08-19 17:01:00 +000027979 Changed the default sort order now that heavy view is the default.
27980 Also fixes a bug where the heavy profile was not sorted at first.
27981
27982 https://bugs.webkit.org/show_bug.cgi?id=20440
27983
27984 Reviewed by Kevin McCullough.
27985
27986 * page/inspector/ProfileView.js:
27987 (WebInspector.ProfileView): Changed the default sort column. Also assign
27988 heavyProfile to profile, so the sortSelfTimeDescending call happens
27989 on the heavy profile before assigning to this.profile.
27990
279912008-08-18 Timothy Hatcher <timothy@apple.com>
27992
timothy@apple.comc9287f32008-08-19 17:00:36 +000027993 Add support for editing DOM properties and scope variables by double
27994 clicking a property to enter edit mode.
27995
27996 https://bugs.webkit.org/show_bug.cgi?id=20415
27997
27998 Reviewed by Kevin McCullough.
27999
28000 * page/inspector/ObjectPropertiesSection.js:
28001 (WebInspector.ObjectPropertiesSection): Set editable to true by default.
28002 (WebInspector.ObjectPropertiesSection.prototype.onpopulate):
28003 Factored out code into update, and calls update.
28004 (WebInspector.ObjectPropertiesSection.prototype.update): Moved from onpopulate.
28005 Call removeChildren since this method can be called multiple times now.
28006 (WebInspector.ObjectPropertyTreeElement): Pass an empty title, the title
28007 gets made later in onattach.
28008 (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): Don't return early
28009 if shouldRefreshChildren is true. Call removeChildren since this method can be
28010 called multiple times now.
28011 (WebInspector.ObjectPropertyTreeElement.prototype.ondblclick): Call startEditing.
28012 (WebInspector.ObjectPropertyTreeElement.prototype.onattach): Call update.
28013 (WebInspector.ObjectPropertyTreeElement.prototype.update): Update the title for
28014 this element (code moved from the constructor.)
28015 (WebInspector.ObjectPropertyTreeElement.prototype.updateSiblings): Recreate all
28016 sibling property elements.
28017 (WebInspector.ObjectPropertyTreeElement.prototype.startEditing): Call
28018 WebInspector.startEditing after rememebring some context.
28019 (WebInspector.ObjectPropertyTreeElement.prototype.editingEnded): Reset the scrollLeft
28020 for the list element, since it might have scrolled during editing.
28021 (WebInspector.ObjectPropertyTreeElement.prototype.editingCancelled): Call editingEnded
28022 then restore the state from the context. Then call update to restore the title.
28023 (WebInspector.ObjectPropertyTreeElement.prototype.editingCommitted): Call editingCancelled
28024 if the user input and the previous input are the same. Call editingEnded, then call applyExpression
28025 to commit the user input.
28026 (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression): Evaluates the input expression
28027 and stores the result on the object for the property name of this element. If the expression is
28028 empty, delete the property and remove the tree element.
28029 * page/inspector/ScopeChainSidebarPane.js:
28030 (WebInspector.ScopeChainSidebarPane.prototype.update): Set the editInSelectedCallFrameWhenPaused
28031 property on each ObjectPropertiesSection.
28032 (WebInspector.ScopeVariableTreeElement.prototype.onattach): Call ObjectPropertyTreeElement's onattach
28033 since it is now implemented.
28034 * page/inspector/ScriptsPanel.js:
28035 (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame): Added an updateInterface argument
28036 that defaults to true if omitted. It specifies whether to call update on the scope chain.
28037 * page/inspector/inspector.css: New styles.
28038 * page/inspector/treeoutline.js:
28039 (TreeElement.prototype._attach): Fixed an exception that fired when handling the shouldRefreshChildren
28040 change. The nextSibling would exist but have a _listItemNode that didn't match the new parent.
28041
280422008-08-18 Timothy Hatcher <timothy@apple.com>
28043
timothy@apple.com9d9821a2008-08-19 17:00:26 +000028044 Surround the expression to be evaluated in parenthesis so the
28045 result of the eval is the result of the whole expression not
28046 the last potential sub-expression. So evaluating {x: 123}
28047 will show the Object not 123.
28048
28049 https://bugs.webkit.org/show_bug.cgi?id=20428
28050
28051 Reviewed by Kevin McCullough.
28052
28053 * page/inspector/Console.js:
28054 (Console.prototype._evalInInspectedWindow): Add parenthesis
28055 around the expression. And add couple comments.
28056
kmccullough@apple.come8ac2f32008-08-19 16:38:06 +0000280572008-08-19 Kevin McCullough <kmccullough@apple.com>
28058
28059 Reviewed by Geoff.
28060
28061 -Implement a page() function to extract a common code pattern.
28062
28063 * WebCore.xcodeproj/project.pbxproj:
28064 * page/Console.cpp:
28065 (WebCore::Console::addMessage):
28066 (WebCore::Console::error):
28067 (WebCore::Console::info):
28068 (WebCore::Console::log):
28069 (WebCore::Console::dir):
28070 (WebCore::Console::assertCondition):
28071 (WebCore::Console::time):
28072 (WebCore::Console::timeEnd):
28073 (WebCore::Console::group):
28074 (WebCore::Console::groupEnd):
28075 (WebCore::Console::finishedProfiling):
28076 (WebCore::Console::warn):
28077 (WebCore::Console::framePage):
28078 * page/Console.h:
28079
darin@apple.com349e1eb2008-08-19 04:39:04 +0000280802008-08-12 Darin Adler <darin@apple.com>
28081
28082 Reviewed by Geoff.
28083
28084 - eliminate JSValue::type()
28085
28086 * bridge/c/c_instance.cpp:
28087 (KJS::Bindings::CInstance::defaultValue): Take PreferredPrimitiveType
28088 argument instead of JSType argument. Removed unneeded code to handle
28089 boolean, since that's never passed.
28090 * bridge/c/c_instance.h: Ditto.
28091
28092 * bridge/c/c_utility.cpp:
28093 (KJS::Bindings::convertValueToNPVariant): Use JSValue::is functions
28094 instead of JSValue::type(). Removed unneeded code to handle
28095 "unspecified".
28096
28097 * bridge/jni/jni_instance.cpp:
28098 (JavaInstance::defaultValue): Take PreferredPrimitiveType argument
28099 instead of JSType argument. Removed unneeded code to handle boolean.
28100 * bridge/jni/jni_instance.h: Ditto.
28101
28102 * bridge/jni/jni_jsobject.mm:
28103 (JavaJSObject::convertValueToJObject): Use JSValue::is functions
28104 instead of JSValue::type().
28105
28106 * bridge/objc/objc_instance.h: Take PreferredPrimitiveType argument
28107 instead of JSType argument. Removed unused argument.
28108 * bridge/objc/objc_instance.mm:
28109 (ObjcInstance::getValueOfUndefinedField): Removed unused argument.
28110 (ObjcInstance::defaultValue): Take PreferredPrimitiveType argument
28111 instead of JSType argument. Removed unneeded code to handle boolean
28112 and another dead code path for unknown types.
28113
28114 * bridge/objc/objc_runtime.h: Take PreferredPrimitiveType argument
28115 instead of JSType argument. Removed override of type() that caused
28116 the fallback object to return "UndefinedType" when there is no
28117 invokeUndefinedMethodFromWebScript:withArguments: method defined.
28118 That didn't accomplish much, since most checks for undefined don't
28119 ever call type().
28120 * bridge/objc/objc_runtime.mm:
28121 (ObjcFallbackObjectImp::defaultValue): Ditto.
28122
28123 * bridge/qt/qt_instance.cpp:
28124 (KJS::Bindings::QtInstance::defaultValue): Take PreferredPrimitiveType
28125 argument instead of JSType argument. Removed unneeded code to handle
28126 boolean.
28127 * bridge/qt/qt_instance.h: Ditto.
28128
28129 * bridge/runtime.h:
28130 (KJS::Bindings::Instance::getValueOfUndefinedField): Removed
28131 unsed argument.
28132 * bridge/runtime_object.cpp:
28133 (RuntimeObjectImp::defaultValue): Take PreferredPrimitiveType
28134 argument instead of JSType argument.
28135 * bridge/runtime_object.h: Ditto.
28136
britto@apple.comaf7f8382008-08-19 00:42:13 +0000281372008-08-18 Maxime Britto <britto@apple.com>
28138
28139 Reviewed by Adele.
28140
28141 <rdar://6157207> Mouse pointer does not change when new window is opened after pan-scrolling original window
28142 Related to the discussion from rdar://6102511 , we should disable every key event (except for the esc key which stops the panning).
28143 We shouldn't be able to create another window while we are in pan scrolling.
28144 Other browsers behaviors :
28145 FF3 : Most of the keys are disabled, there is no way to create another window while in panscroll mode
28146 IE7 : Keys are not disabled but stops immediately the panning.
28147 This patch matches FF3 behavior by disabling every key but the esc key.
28148
28149 * page/EventHandler.cpp:
28150 (WebCore::EventHandler::stopAutoscrollTimer): Change the cursor back to the regular arrow cursor when the pannning is stopped.
28151 (WebCore::EventHandler::keyEvent): When a key event is received while in panning or autoscroll we swallow the event early.
28152
mitz@apple.com12404d82008-08-19 00:20:38 +0000281532008-08-18 Dan Bernstein <mitz@apple.com>
28154
28155 Reviewed by Dave Hyatt.
28156
28157 - fix <rdar://problem/5862634> REGRESSION (3.1.1): In iChat, inline image not resizable past current size after another IM is received
28158
28159 Test: fast/replaced/max-width-percent.html
28160
28161 Added an includeMaxWidth boolean to RenderBox::calcReplaedWidth().
28162 When false, max-width is not factored into the
28163 calculation.
28164 Changed RenderReplaced and subclasses' calcPrefWidths() to call
28165 calcReplacedWidth(false) and then apply max-width only if it has a
28166 fixed, positive value.
28167
28168 * rendering/RenderBox.cpp:
28169 (WebCore::RenderBox::calcReplacedWidth):
28170 * rendering/RenderBox.h:
28171 * rendering/RenderImage.cpp:
28172 (WebCore::RenderImage::calcReplacedWidth):
28173 (WebCore::RenderImage::calcPrefWidths):
28174 * rendering/RenderImage.h:
28175 * rendering/RenderReplaced.cpp:
28176 (WebCore::RenderReplaced::calcPrefWidths):
28177 * rendering/RenderSVGRoot.cpp:
28178 (WebCore::RenderSVGRoot::calcPrefWidths):
28179 * rendering/RenderVideo.cpp:
28180 (WebCore::RenderVideo::calcReplacedWidth):
28181 (WebCore::RenderVideo::calcPrefWidths):
28182 * rendering/RenderVideo.h:
28183
mrowe@apple.comced88732008-08-18 22:47:28 +0000281842008-08-18 Daniel Macks <dmacks@netspace.org>
28185
28186 Reviewed by Mark Rowe.
28187
28188 https://bugs.webkit.org/show_bug.cgi?id=20410
28189 More portable/self-documenting replacement for SIZE_MAX.
28190
28191 * platform/network/curl/FormDataStreamCurl.cpp:
28192 (WebCore::FormDataStream::read):
28193
281942008-08-18 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com6040db32008-08-18 22:11:10 +000028195
28196 Reviewed by Dave Hyatt
28197
28198 Need to make sure we have an Animation in the AnimationList
28199 before setting the initial value.
28200 https://bugs.webkit.org/show_bug.cgi?id=20408
28201
28202 Test: fast/css/transition_shorthand_parsing.html
28203
28204 * css/CSSStyleSelector.cpp:
28205
kmccullough@apple.com64cb2fd2008-08-18 19:55:35 +0000282062008-08-18 Kevin McCullough <kmccullough@apple.com>
28207
kmccullough@apple.com707bd362008-08-18 20:21:57 +000028208 Reviewed by Tim.
28209
28210 <rdar://problem/6150593> JSProfiler: Empty profiles disappear when there
28211 is another profile.
28212
28213 * page/inspector/ProfilesPanel.js:
28214
282152008-08-18 Kevin McCullough <kmccullough@apple.com>
28216
kmccullough@apple.com64cb2fd2008-08-18 19:55:35 +000028217 Reviewed by Geoff.
28218
28219 <rdar://problem/6150642> REGRESSION: Closing the Web Inspector clears
28220 all console messages
28221
28222 * page/inspector/Console.js:
28223
jmalonzo@webkit.org5d1e0482008-08-18 11:20:11 +0000282242008-08-18 Dirk Schulze <vbs85@gmx.de>
28225
28226 Reviewed by Eric Seidel.
28227
28228 Fixed Canvas for Cairo. Stroke and fill colors didn't work after
28229 the canvas clean up.
28230
28231 https://bugs.webkit.org/show_bug.cgi?id=20405
28232
28233 * html/CanvasRenderingContext2D.cpp:
28234 (WebCore::CanvasRenderingContext2D::fill):
28235 (WebCore::CanvasRenderingContext2D::stroke):
28236 (WebCore::CanvasRenderingContext2D::fillRect):
28237
timothy@apple.comc5e1f8d2008-08-18 03:21:46 +0000282382008-08-17 Timothy Hatcher <timothy@apple.com>
28239
28240 Complete in scope variables in the Console when paused.
28241
28242 https://bugs.webkit.org/show_bug.cgi?id=19115
28243
28244 Reviewed by Geoffrey Garen.
28245
28246 * page/inspector/Console.js:
28247 (WebInspector.Console.prototype.completions): If the expressionString
28248 is null or empty and the debugger is paused, call variablesInScopeForSelectedCallFrame
28249 to get an object that declares all the in scope variables. That way
28250 "top level" expressions are completed.
28251 * page/inspector/ScriptsPanel.js:
28252 (WebInspector.ScriptsPanel.prototype.variablesInScopeForSelectedCallFrame):
28253 Return an object that has all the variables that are in scope for the
28254 selected call frame. The value of each property is just true.
28255 The return object is useful for quick lookups or auto completion.
28256
cwzwarich@webkit.orgac715282008-08-17 21:34:46 +0000282572008-08-17 Cameron Zwarich <cwzwarich@uwaterloo.ca>
28258
28259 Not reviewed.
28260
28261 Speculative Qt build fix.
28262
28263 * bridge/qt/qt_runtime.cpp:
28264 (KJS::Bindings::convertValueToQVariant):
28265 (KJS::Bindings::QtRuntimeMethod::QtRuntimeMethod):
28266
ggaren@apple.comfea43532008-08-17 20:23:49 +0000282672008-08-17 Geoffrey Garen <ggaren@apple.com>
28268
28269 Reviewed by Cameron Zwarich.
ggaren@apple.com6e53d0a2008-08-17 20:28:37 +000028270
28271 Updated project files to XCode 3.1.
28272
28273 * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj:
28274
282752008-08-17 Geoffrey Garen <ggaren@apple.com>
28276
28277 Reviewed by Cameron Zwarich.
ggaren@apple.comfea43532008-08-17 20:23:49 +000028278
28279 Made room for a free word in JSCell.
28280
28281 Changed JSDOMWindowBase to store its auxiliary data in a subclass of
28282 JSGlobalData, so the two could share a pointer.
28283
28284 Added a bunch of ASSERTs, to help catch over-sized objects.
28285
mrowe@apple.com13570292008-08-16 06:48:10 +0000282862008-08-15 Mark Rowe <mrowe@apple.com>
28287
mitz@apple.comb96c1b92008-08-17 03:28:52 +000028288 Reviewed by Dan Bernstein.
28289
28290 Disable dead code stripping in debug builds.
28291
28292 * Configurations/Base.xcconfig:
28293 * WebCore.xcodeproj/project.pbxproj:
28294
282952008-08-15 Mark Rowe <mrowe@apple.com>
28296
mrowe@apple.com13570292008-08-16 06:48:10 +000028297 Rubber-stamped by Geoff Garen.
28298
28299 <rdar://problem/6139914> Please include a _debug version of JavaScriptCore framework
28300
28301 * Configurations/Base.xcconfig: Factor out the debug-only settings so that they can shared
28302 between the Debug configuration and debug Production variant.
28303 * WebCore.xcodeproj/project.pbxproj: Enable the debug variant.
28304
antti@apple.coma05e8b02008-08-15 22:58:06 +0000283052008-08-15 Antti Koivisto <antti@apple.com>
28306
28307 Reviewed by Anders.
28308
28309 Don't start preloading body resources before the head is complete. This prevents
28310 body preloads from slowing down initial display when there is limited amount
28311 of bandwidth available.
28312
28313 Works by queuing up found body preloads to DocLoader and only issuing them
28314 after document has rendering.
28315
28316 With bandwidth capped to 300kbit/s this speeds up cnn.com initial display by ~25% or 5s
28317 without affecting complete load time.
28318
28319 * html/PreloadScanner.cpp:
28320 (WebCore::PreloadScanner::PreloadScanner):
28321 (WebCore::PreloadScanner::scanningBody):
28322 (WebCore::PreloadScanner::emitTag):
28323 (WebCore::PreloadScanner::emitCSSRule):
28324 * html/PreloadScanner.h:
28325 * loader/DocLoader.cpp:
28326 (WebCore::DocLoader::preload):
28327 (WebCore::DocLoader::checkForPendingPreloads):
28328 (WebCore::DocLoader::requestPreload):
28329 * loader/DocLoader.h:
28330 * loader/loader.cpp:
28331 (WebCore::Loader::Host::didFinishLoading):
28332 (WebCore::Loader::Host::didFail):
28333
adachan@apple.com94ac38d2008-08-15 21:08:40 +0000283342008-08-15 Ada Chan <adachan@apple.com>
28335
28336 Use item's computed style if the render style is 0 before falling back to the <select>'s style.
28337 This way style set on an <hr> within a <select> will be honored.
28338
28339 Reviewed by Dave Hyatt and Dan Bernstein.
28340
28341 * rendering/RenderMenuList.cpp:
28342 (WebCore::RenderMenuList::itemStyle):
28343
antti@apple.com9f7911472008-08-15 20:48:06 +0000283442008-08-15 Antti Koivisto <antti@apple.com>
28345
28346 Reviewed by Oliver.
28347
28348 Some loader performance tweaks:
28349 - Make stylesheets highest priority instead of scripts. We block script execution on stylesheets.
28350 Especially if a stylesheet @imports other stylesheets it is important to get them to the front of the queue
28351 to not delay rendering.
28352 - Issue the first resource load for a host immediately even if the resource is low priority. TCP connection setup
28353 can take long time when latency is high so it is good to get started early.
28354 - When the document is fully parsed and stylesheets have been loaded there is no need to keep managing the
28355 load queues. Issue remaining loads to the network layer.
28356
28357 * loader/loader.cpp:
28358 (WebCore::Loader::determinePriority):
28359 (WebCore::Loader::load):
28360 (WebCore::Loader::Host::servePendingRequests):
28361 * loader/loader.h:
28362
timothy@apple.com2d974c32008-08-15 18:35:39 +0000283632008-08-15 Timothy Hatcher <timothy@apple.com>
28364
28365 Detach the script debugger when the Web Inspector's window closes.
28366 This has always been the intended design, but never fully implemented.
28367
28368 https://bugs.webkit.org/show_bug.cgi?id=20402
28369
28370 Reviewed by Adam Roben.
28371
28372 * page/InspectorController.cpp:
28373 (WebCore::InspectorController::setWindowVisible): Call stopDebugging()
28374 if the window is no longer visible.
28375
hausmann@webkit.orgbb4b9142008-08-15 18:11:34 +0000283762008-08-15 HÃ¥vard Wall <hwall@trolltech.com>
28377
28378 Reviewed by Simon.
28379
hausmann@webkit.org58144a72008-08-15 18:12:08 +000028380 Fixes: compile with QT_NO_CONTEXTMENU
28381
28382 * platform/qt/PlatformMouseEventQt.cpp:
28383 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
28384 * platform/qt/PlatformScrollBarQt.cpp:
28385 (WebCore::PlatformScrollbar::handleMouseMoveEvent):
28386 (WebCore::PlatformScrollbar::handleContextMenuEvent):
28387
283882008-08-15 HÃ¥vard Wall <hwall@trolltech.com>
28389
28390 Reviewed by Simon.
28391
hausmann@webkit.orgbb4b9142008-08-15 18:11:34 +000028392 Fixes: compile with QT_NO_WHEELEVENT
28393
28394 * platform/qt/WheelEventQt.cpp:
28395 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
28396
timothy@apple.com4889e612008-08-15 17:06:14 +0000283972008-08-15 Keishi Hattori <casey.hattori@gmail.com>
28398
timothy@apple.comd64639c2008-08-15 17:48:36 +000028399 Fixed Bug 20210: Console groups are incorrect when closing and reopening the Inspector
28400
28401 https://bugs.webkit.org/show_bug.cgi?id=20210
28402
28403 Reviewed by Tim Hatcher.
28404
28405 * page/Console.cpp:
28406 (WebCore::Console::group):
28407 (WebCore::Console::groupEnd):
28408 * page/Console.h:
28409 (WebCore::): Removed GroupTitleMessageLevel. Added StartGroupMessaageLevel and EndGroupMessageLevel.
28410 * page/InspectorController.cpp:
28411 (WebCore::InspectorController::startGroup): Increments group level by
28412 one and adds console message with StartGroupMessaageLevel.
28413 (WebCore::InspectorController::endGroup): Decrements group level by one
28414 and adds console message with EndGroupMessaageLevel.
28415 * page/InspectorController.h:
28416 * page/inspector/Console.js:
28417 (WebInspector.Console.prototype.addMessage): Creates new ConsoleGroup
28418 if the message is StartGroupMessaageLevel.
28419 (WebInspector.ConsoleMessage.prototype.toMessageElement):
28420 (WebInspector.ConsoleGroup.prototype.addMessage):
28421 * page/inspector/inspector.js:
28422
284232008-08-15 Keishi Hattori <casey.hattori@gmail.com>
28424
timothy@apple.com7310b6a2008-08-15 17:35:22 +000028425 Adds support for console.dir to the Inspector
28426
28427 https://bugs.webkit.org/show_bug.cgi?id=19155
28428
28429 Reviewed by Tim Hatcher.
28430
28431 * bindings/js/JSConsoleCustom.cpp:
28432 (WebCore::JSConsole::dir):
28433 * page/Console.cpp:
28434 (WebCore::Console::dir):
28435 * page/Console.h: Added ObjectMessageLevel.
28436 * page/Console.idl: Added console.dir.
28437 * page/inspector/Console.js:
28438 (WebInspector.ConsoleMessage.prototypet.toMessageElement): Creates an
28439 ObjectPropertiesSection if the MessageLevel is Object.
28440 * page/inspector/ObjectPropertiesSection.js: "in" operator can't be
28441 used on primitive data types.
28442 * page/inspector/inspector.css:
28443
284442008-08-15 Keishi Hattori <casey.hattori@gmail.com>
28445
timothy@apple.com4889e612008-08-15 17:06:14 +000028446 Adds support for clear() in the Inspector console.
28447
28448 https://bugs.webkit.org/show_bug.cgi?id=19873
28449
28450 Reviewed by Tim Hatcher.
28451
28452 * page/inspector/Console.js:
28453
timothy@apple.com12c5b5d2008-08-15 17:02:44 +0000284542008-08-15 Anthony Ricaud <rik24d@gmail.com>
28455
28456 Cmd-F on Mac or Ctrl-F on other platforms now focus the search field.
28457
28458 Platform distinction and modifier key matching adjusted
28459 by Daniel Jalkut <jalkut@red-sweater.com>
28460
28461 Bug 16313: text search (find) keybindings should work in the Web Inspector
28462 https://bugs.webkit.org/show_bug.cgi?id=16313
28463
28464 Reviewed by Tim Hatcher.
28465
28466 * page/inspector/inspector.js: Added a case for the F key
28467
timothy@apple.coma5ba4392008-08-15 16:50:26 +0000284682008-08-15 Keishi Hattori <casey.hattori@gmail.com>
28469
28470 Fix for error when the string doesn't contain a webkit-profile link.
28471
28472 https://bugs.webkit.org/show_bug.cgi?id=20399
28473
28474 Reviewed by Tim Hatcher.
28475
28476 * page/inspector/inspector.js:
28477
timothy@apple.com895b2652008-08-15 16:33:27 +0000284782008-08-15 Timothy Hatcher <timothy@apple.com>
28479
28480 Fixes two bugs where JavaScript could be executed from the page
28481 while the debugger is paused.
28482
28483 The first issue was JSLazyEventListener not checking the paused
28484 state before parsing the code.
28485
28486 The second issue was with the PageGroup version of
28487 JavaScriptDebugServer::setJavaScriptPaused always passing false
28488 to the Page version of JavaScriptDebugServer::setJavaScriptPaused,
28489 and not the paused argument.
28490
28491 https://bugs.webkit.org/show_bug.cgi?id=20284
28492
28493 Reviewed by Adam Roben.
28494
28495 * bindings/js/JSEventListener.cpp:
28496 (WebCore::JSLazyEventListener::parseCode): Check the paused
28497 state of the ScriptController. Return early if paused.
28498 * manual-tests/inspector/debugger-execution-while-paused.html: Added.
28499 * page/JavaScriptDebugServer.cpp:
28500 (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
28501 Pass the paused argument to the Page version of setJavaScriptPaused.
28502
ap@webkit.orgbe495d32008-08-15 07:43:48 +0000285032008-08-15 Alexey Proskuryakov <ap@webkit.org>
28504
28505 Reviewed by Geoff Garen.
28506
28507 JSStringRef is created context-free, but can get linked to one via an identifier table,
28508 breaking an implicit API contract.
28509
28510 * page/InspectorController.cpp:
28511 (WebCore::jsStringRef):
28512 (WebCore::InspectorController::didParseSource):
28513 (WebCore::InspectorController::failedToParseSource):
28514 * page/JavaScriptProfile.cpp:
28515 (WebCore::getTitleCallback):
28516 Updated for JavaScriptCore changes.
28517
kevino@webkit.org8fe09ff2008-08-15 05:10:57 +0000285182008-08-14 Kevin Ollivier <kevino@theolliviers.com>
28519
28520 wx !USE(WXGC) build fix. This is necessary until we find a way to replace GDI with
28521 an alternative that performs reasonably well. (GDI+ is too slow in many cases.)
28522
28523 * platform/graphics/AffineTransform.h:
28524
adele@apple.com2b2e2f82008-08-15 00:53:36 +0000285252008-08-14 Eric Carlson <eric.carlson@apple.com>
28526
28527 Reviewed by Adele.
28528
28529 Fix for https://bugs.webkit.org/show_bug.cgi?id=20388
28530 <video> elements on Windows never becomes visible when a page is restored from the cache
28531
28532 Always pass "set" calls down to MediaPlayerPrivate instead of only when the
28533 value is different from the cached value. Let the implementation decide when
28534 to avoid work because nothing has changed.
28535
28536 * platform/graphics/MediaPlayer.cpp:
28537 (WebCore::MediaPlayer::setVolume):
28538 (WebCore::MediaPlayer::setRate):
28539 (WebCore::MediaPlayer::setRect):
28540 (WebCore::MediaPlayer::setVisible):
28541
timothy@apple.comda810f42008-08-14 23:57:14 +0000285422008-08-14 Keishi Hattori <casey.hattori@gmail.com>
28543
28544 Make Firebug command line API respect predefined variables.
28545
timothy@apple.com90751f02008-08-14 23:58:19 +000028546 https://bugs.webkit.org/show_bug.cgi?id=20385
28547
timothy@apple.comda810f42008-08-14 23:57:14 +000028548 Reviewed by Tim Hatcher.
28549
28550 * page/inspector/Console.js:
28551
weinig@apple.com4b51d002008-08-14 23:33:22 +0000285522008-08-14 Sam Weinig <sam@webkit.org>
28553
28554 Reviewed by Geoffrey Garen and Timothy Hatcher.
28555
28556 Allow programatically setting the HTMLTokenizers time delay and chunk size
28557 which are used for determining how aggressively we yield.
28558
28559 * WebCore.base.exp:
28560 * html/HTMLTokenizer.cpp:
28561 (WebCore::HTMLTokenizer::begin):
28562 (WebCore::HTMLTokenizer::continueProcessing):
28563 * html/HTMLTokenizer.h:
28564 * page/Page.cpp:
28565 (WebCore::Page::Page):
28566 (WebCore::Page::setCustomHTMLTokenizerTimeDelay):
28567 (WebCore::Page::setCustomHTMLTokenizerChunkSize):
28568 * page/Page.h:
28569 (WebCore::Page::hasCustomHTMLTokenizerTimeDelay):
28570 (WebCore::Page::customHTMLTokenizerTimeDelay):
28571 (WebCore::Page::hasCustomHTMLTokenizerChunkSize):
28572 (WebCore::Page::customHTMLTokenizerChunkSize):
28573
eric@webkit.org89613d22008-08-14 23:19:17 +0000285742008-08-14 Eric Seidel <eric@webkit.org>
28575
eric@webkit.org7e897c32008-08-14 23:20:00 +000028576 Reviewed by Beth.
28577
28578 Move us one step closer to cross-platform svg/graphics code
28579
28580 * WebCore.xcodeproj/project.pbxproj:
28581 * html/CanvasStyle.cpp:
28582 * platform/graphics/Color.cpp:
28583 (WebCore::colorWithOverrideAlpha):
28584 * platform/graphics/Color.h:
28585 * svg/graphics/cg/CgSupport.cpp:
28586 (WebCore::applyStrokeStyleToContext):
28587 (WebCore::strokeBoundingBox):
28588 * svg/graphics/cg/SVGPaintServerSolidCg.cpp:
28589 (WebCore::SVGPaintServerSolid::setup):
28590
285912008-08-14 Eric Seidel <eric@webkit.org>
28592
eric@webkit.org4f490652008-08-14 23:19:31 +000028593 Reviewed by Alexey.
28594
eric@webkit.org73fa9d12008-08-14 23:19:44 +000028595 Remove un-need includes from HTMLCanvas and use the
28596 Gradient platform abstraction in one place in CanvasStyle
28597
28598 * html/CanvasRenderingContext2D.cpp:
28599 (WebCore::CanvasRenderingContext2D::fillRect):
28600 * html/CanvasStyle.cpp:
28601 * html/HTMLCanvasElement.cpp:
28602
286032008-08-14 Eric Seidel <eric@webkit.org>
28604
28605 Reviewed by Alexey.
28606
eric@webkit.org4f490652008-08-14 23:19:31 +000028607 Clean up GlyphBuffer.h, removing more #ifdefs
28608
28609 * platform/graphics/GlyphBuffer.h:
28610 (WebCore::GlyphBuffer::glyphAt):
28611 (WebCore::GlyphBuffer::advanceAt):
28612 (WebCore::GlyphBuffer::add):
28613
286142008-08-14 Eric Seidel <eric@webkit.org>
28615
eric@webkit.org89613d22008-08-14 23:19:17 +000028616 Reviewed by Sam.
28617
28618 Clean up AffineTransform.h, removing #ifdefs
28619
28620 * platform/graphics/AffineTransform.h:
28621 * platform/graphics/cairo/AffineTransformCairo.cpp:
28622 * platform/graphics/cg/AffineTransformCG.cpp:
28623 * platform/graphics/qt/AffineTransformQt.cpp:
28624 * platform/graphics/wx/AffineTransformWx.cpp:
28625
mitz@apple.com551d6252008-08-14 23:08:09 +0000286262008-08-14 Dan Bernstein <mitz@apple.com>
28627
mitz@apple.com94c1a7d2008-08-14 23:12:34 +000028628 - fix non-CG builds by adding an ImageSource::frameSizeAtIndex() that returns size().
28629
28630 * platform/graphics/cairo/ImageSourceCairo.cpp:
28631 (WebCore::ImageSource::frameSizeAtIndex):
28632 * platform/graphics/qt/ImageSourceQt.cpp:
28633 (WebCore::ImageSource::frameSizeAtIndex):
28634 * platform/graphics/wx/ImageSourceWx.cpp:
28635 (WebCore::ImageSource::frameSizeAtIndex):
28636
286372008-08-14 Dan Bernstein <mitz@apple.com>
28638
mitz@apple.com551d6252008-08-14 23:08:09 +000028639 Reviewed by Brady Eidson.
28640
28641 - fix <rdar://problem/5993323> REGRESSION (r34210): Apple.com favicon appears stretched/clipped
28642
28643 * platform/graphics/BitmapImage.cpp:
28644 (WebCore::BitmapImage::BitmapImage): Added initialization of
28645 m_hasUniformFrameSize.
28646 (WebCore::BitmapImage::cacheFrame): Added code to get the size of the
28647 cached frame for use in decoded size computation and for setting
28648 m_hasUniformFrameSize.
28649 (WebCore::BitmapImage::currentFrameSize): Added.
28650 (WebCore::BitmapImage::dataChanged): Added code to reset
28651 m_hasUniformFrameSize.
28652 * platform/graphics/BitmapImage.h: Added currentFrameSize() and
28653 m_hasUniformFrameSize.
28654 * platform/graphics/ImageSource.h: Added frameSizeAtIndex().
28655 * platform/graphics/cg/ImageCG.cpp:
28656 (WebCore::BitmapImage::draw): Changed to use currentFrameSize(). This
28657 fixes the bug, which resulted from assuming that the frame being drawn
28658 was the same size as the first frame.
28659 * platform/graphics/cg/ImageSourceCG.cpp:
28660 (WebCore::ImageSource::frameSizeAtIndex): Renamed size() to this and
28661 changed to get the size of the frame at the given index.
28662 (WebCore::ImageSource::size): Added. Returns frameSizeAtIndex(0).
28663
simon.fraser@apple.com50954e52008-08-14 23:04:41 +0000286642008-08-13 Simon Fraser <simon.fraser@apple.com>
28665
28666 Reviewed by Eric Seidel
28667
28668 Fix @font-face inside @media rule crash.
28669 https://bugs.webkit.org/show_bug.cgi?id=20367
28670
28671 Test: fast/css/font-face-in-media-rule.html
28672
28673 * css/CSSStyleSelector.cpp:
28674 (WebCore::CSSRuleSet::addRulesFromSheet):
28675
kevino@webkit.org141c4602008-08-14 22:52:55 +0000286762008-08-14 Kevin Ollivier <kevino@theolliviers.com>
28677
28678 wx build fixes after recent changes to Canvas and Image classes.
28679
28680 * platform/graphics/Pattern.h:
28681 * platform/graphics/wx/GradientWx.cpp:
28682 (WebCore::Gradient::fill):
28683 * platform/graphics/wx/GraphicsContextWx.cpp:
28684 (WebCore::GraphicsContext::applyFillPattern):
28685 (WebCore::GraphicsContext::applyStrokePattern):
28686 * platform/graphics/wx/ImageBufferWx.cpp:
28687 (WebCore::ImageBuffer::image):
28688 * platform/graphics/wx/ImageWx.cpp:
28689 (WebCore::Image::loadPlatformResource):
28690
britto@apple.comd7008662008-08-14 19:26:02 +0000286912008-08-14 Maxime Britto <britto@apple.com>
28692
28693 Reviewed by Sam Weinig.
28694
28695 rdar://6102511
28696 When pan-scrolling, typing on the keyboard should either stop the pan scroll or be ignored
28697 IE and FF are both preventing the keyboard event to interact with the page while scrolling.
28698 Some differences exist between them concerning the kind of key which is pressed :
28699 IE7 : every key leads to a stop of the panning
28700 FF3 : the ESC and TAB keys leads to a stop, the other keys are inactive.
28701 For WebKit this patch is adopting the FF3 behavior except for the TAB key which is inactive too.
28702
28703 * page/EventHandler.cpp:
28704 (WebCore::EventHandler::keyEvent): Verifies which key has been hit and decide either to stop the pan scroll or to swallow the key event.
28705
christian@webkit.org0e20f322008-08-14 19:14:47 +0000287062008-08-14 Christian Dywan <christian@twotoasts.de>
28707
28708 Gtk+/ Cairo build fix, patch by Dirk Schulze.
28709
28710 * html/CanvasStyle.cpp:
28711 * platform/graphics/cairo/PatternCairo.cpp:
28712 (WebCore::Pattern::createPlatformPattern):
28713 * svg/graphics/cairo/SVGResourceMaskerCairo.cpp:
28714
kmccullough@apple.comd2b50f12008-08-14 18:11:20 +0000287152008-08-14 Kevin McCullough <kmccullough@apple.com>
28716
28717 Reviewed by Tim.
28718
28719 <rdar://problem/6115819> Notify of profile in console
28720
28721 * page/InspectorController.cpp:
28722 (WebCore::InspectorController::addProfile):
28723 (WebCore::InspectorController::addProfileMessageToConsole): Called by
28724 addProfile this is the function that adds a message to the console that
28725 a profile finished.
28726 * page/InspectorController.h:
28727 * page/JavaScriptProfile.cpp: Expose the profiler's unique ID to match
28728 the console log to the profile in the web inspector.
28729 (WebCore::getUniqueIdCallback):
28730 (WebCore::ProfileClass):
28731 * page/inspector/ProfilesPanel.js: Created a map of all the profiles by
28732 Id to bring up the requested profile. Also select and reveal the
28733 profile in the profile panel. And created displayTitleForProfileLink()
28734 which formats a title taking into account if it's user initiated or if
28735 there are multiples. Lasty, I put the user initiated profile in a
28736 variable.
28737 * page/inspector/inspector.js: Make the profile title be a clickable
28738 link that will take the user to the identified profile. Also expose
28739 the count of user initiated profiles so they can be displayed in the
28740 console with the correct count.
28741
timothy@apple.comcd7f0f32008-08-14 17:41:05 +0000287422008-08-14 Timothy Hatcher <timothy@apple.com>
28743
28744 Avoid formating ConsoleMessages twice unless the message will be
28745 displayed in bubbles of a SourceFrame.
28746
28747 Reviewed by Kevin McCullough.
28748
28749 * page/inspector/Console.js:
28750 (WebInspector.ConsoleMessage): Only format the plain text message
28751 if the URL and line are valid and the level is error or warning.
28752 (WebInspector.ConsoleMessage.prototype.isErrorOrWarning): Added.
28753 Helper to test for error or warning level.
28754 * page/inspector/SourceFrame.js:
28755 (WebInspector.SourceFrame.prototype.addMessage): Don't add the
28756 message if there is no message or valid line or if the msg
28757 isn't an error or warning.
28758
jmalonzo@webkit.orgb469bb72008-08-14 15:07:41 +0000287592008-08-14 Jan Michael Alonzo <jmalonzo@webkit.org>
28760
28761 partial Gtk build fix, not reviewed
28762
28763 * platform/graphics/cairo/PatternCairo.cpp:
28764
weinig@apple.com45e83142008-08-14 04:49:30 +0000287652008-08-13 Sam Weinig <sam@webkit.org>
28766
weinig@apple.com1c615fe2008-09-29 04:17:33 +000028767 Reviewed by Anders Carlsson.
weinig@apple.com45e83142008-08-14 04:49:30 +000028768
28769 Fix style issue.
28770
28771 * html/HTMLMediaElement.cpp:
28772 (WebCore::HTMLMediaElement::pickMedia):
28773
zimmermann@webkit.org9ae47e92008-08-14 02:22:35 +0000287742008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
28775
zimmermann@webkit.org7a2f53d2008-08-14 03:06:01 +000028776 Build fix for Cairo, not reviewed. (exposed by gtk build slave)
28777 Continue Erics build fixes, after the Image cleanup.
28778
28779 * platform/graphics/cairo/ImageBufferCairo.cpp:
28780 (WebCore::ImageBuffer::image):
28781
287822008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
28783
zimmermann@webkit.org1ef52132008-08-14 02:38:16 +000028784 Build fix for Qt, not reviewed.
28785 Don't declare eventuallyMarkAsParserCreated in a block wrapped by !USE_QXMLSTREAM.
28786
28787 * dom/XMLTokenizer.cpp:
28788 (WebCore::eventuallyMarkAsParserCreated): Was erre
28789
287902008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
28791
zimmermann@webkit.org3e560562008-08-14 02:26:00 +000028792 Build fix, not reviewed.
28793 Add ScriptElement.cpp to Gtk build.
28794
28795 * GNUmakefile.am:
28796
287972008-08-13 Nikolas Zimmermann <zimmermann@kde.org>
28798
zimmermann@webkit.org9ae47e92008-08-14 02:22:35 +000028799 Reviewed by Eric.
28800
28801 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20372
28802
28803 Refactor HTMLScriptElement's code into a common base class: ScriptElement.
28804 SVGScriptElement will be converted to use ScriptElement in a follow-up patch.
28805
28806 This resolves code duplications and allows us to completly replace the old
28807 SVGScriptElement (which doesn't use CachedScript, no dynamic injected scripts etc..)
28808
28809 As ScriptElement, doesn't actually inherit from Element, we may want to rename
28810 it, though StyleElement uses the same naming convention, so I left it as is for now.
28811 Eventually we'll rename both files in future.
28812
28813 No functional changes yet, as SVGScriptElement doesn't yet use the new base class.
28814
28815 * WebCore.pro: Add new ScriptElement.cpp to build.
28816 * WebCore.vcproj/WebCore.vcproj: Ditto.
28817 * WebCore.xcodeproj/project.pbxproj: Ditto.
28818 * WebCoreSources.bkl: Dutto.
28819 * dom/ScriptElement.cpp: Added. 1:1 based on HTMLScriptElement
28820 (WebCore::ScriptElement::insertedIntoDocument):
28821 (WebCore::ScriptElement::removedFromDocument):
28822 (WebCore::ScriptElement::childrenChanged):
28823 (WebCore::ScriptElement::finishParsingChildren):
28824 (WebCore::ScriptElement::handleSourceAttribute):
28825 (WebCore::isSupportedJavaScriptLanguage):
28826 (WebCore::ScriptElementData::ScriptElementData):
28827 (WebCore::ScriptElementData::~ScriptElementData):
28828 (WebCore::ScriptElementData::requestScript):
28829 (WebCore::ScriptElementData::evaluateScript):
28830 (WebCore::ScriptElementData::stopLoadRequest):
28831 (WebCore::ScriptElementData::notifyFinished):
28832 (WebCore::ScriptElementData::ignoresLoadRequest):
28833 (WebCore::ScriptElementData::shouldExecuteAsJavaScript):
28834 (WebCore::ScriptElementData::scriptCharset):
28835 (WebCore::ScriptElementData::scriptContent):
28836 * dom/ScriptElement.h: Added.
28837 (WebCore::ScriptElement::ScriptElement):
28838 (WebCore::ScriptElement::~ScriptElement):
28839 (WebCore::ScriptElementData::element):
28840 (WebCore::ScriptElementData::createdByParser):
28841 (WebCore::ScriptElementData::setCreatedByParser):
28842 * dom/XMLTokenizer.cpp:
28843 (WebCore::isScriptElement):
28844 (WebCore::castToScriptElement):
28845 (WebCore::eventuallyMarkAsParserCreated):
28846 (WebCore::XMLTokenizer::startElementNs):
28847 (WebCore::XMLTokenizer::endElementNs):
28848 (WebCore::createXHTMLParserErrorHeader):
28849 (WebCore::XMLTokenizer::insertErrorMessageBlock):
28850 * html/HTMLScriptElement.cpp: Refactored code, pushed most code down to ScriptElement.
28851 (WebCore::HTMLScriptElement::HTMLScriptElement):
28852 (WebCore::HTMLScriptElement::~HTMLScriptElement):
28853 (WebCore::HTMLScriptElement::isURLAttribute):
28854 (WebCore::HTMLScriptElement::setCreatedByParser):
28855 (WebCore::HTMLScriptElement::shouldExecuteAsJavaScript):
28856 (WebCore::HTMLScriptElement::childrenChanged):
28857 (WebCore::HTMLScriptElement::parseMappedAttribute):
28858 (WebCore::HTMLScriptElement::finishParsingChildren):
28859 (WebCore::HTMLScriptElement::insertedIntoDocument):
28860 (WebCore::HTMLScriptElement::removedFromDocument):
28861 (WebCore::HTMLScriptElement::text):
28862 (WebCore::HTMLScriptElement::setText):
28863 (WebCore::HTMLScriptElement::setHtmlFor):
28864 (WebCore::HTMLScriptElement::setEvent):
28865 (WebCore::HTMLScriptElement::charset):
28866 (WebCore::HTMLScriptElement::src):
28867 (WebCore::HTMLScriptElement::type):
28868 (WebCore::HTMLScriptElement::scriptCharset):
28869 (WebCore::HTMLScriptElement::scriptContent):
28870 (WebCore::HTMLScriptElement::sourceAttributeValue):
28871 (WebCore::HTMLScriptElement::charsetAttributeValue):
28872 (WebCore::HTMLScriptElement::typeAttributeValue):
28873 (WebCore::HTMLScriptElement::languageAttributeValue):
28874 (WebCore::HTMLScriptElement::dispatchLoadEvent):
28875 (WebCore::HTMLScriptElement::dispatchErrorEvent):
28876 * html/HTMLScriptElement.h:
28877 * svg/SVGScriptElement.cpp: Inherit from ScriptElement, don't actually use it yet.
28878 * svg/SVGScriptElement.cpp:
28879 (WebCore::SVGScriptElement::SVGScriptElement):
28880 (WebCore::SVGScriptElement::scriptContent):
28881 (WebCore::SVGScriptElement::sourceAttributeValue):
28882 (WebCore::SVGScriptElement::charsetAttributeValue):
28883 (WebCore::SVGScriptElement::typeAttributeValue):
28884 (WebCore::SVGScriptElement::languageAttributeValue):
28885 (WebCore::SVGScriptElement::dispatchLoadEvent):
28886 (WebCore::SVGScriptElement::dispatchErrorEvent):
28887 * svg/SVGScriptElement.h:
28888 (WebCore::SVGScriptElement::setCreatedByParser):
28889
eric@webkit.org7811ef02008-08-14 00:28:51 +0000288902008-08-13 Eric Seidel <eric@webkit.org>
28891
eric@webkit.org3562c592008-08-14 02:17:29 +000028892 Attempt to fix the Gtk build, no review.
28893
28894 I removed the bogus GraphicsContext::translatePoint() hack for Gtk in the process.
28895
28896 * platform/graphics/GraphicsContext.h:
28897 * platform/graphics/cairo/GraphicsContextCairo.cpp:
28898 * platform/graphics/qt/GradientQt.cpp:
28899 * platform/graphics/qt/GraphicsContextQt.cpp:
28900 * platform/gtk/RenderThemeGtk.cpp:
28901 (WebCore::paintMozWidget):
28902
289032008-08-13 Eric Seidel <eric@webkit.org>
28904
eric@webkit.org2ec42072008-08-14 02:03:09 +000028905 Yet another attempt to fix the Qt build, no review.
28906
28907 * platform/graphics/qt/GradientQt.cpp:
28908 * platform/graphics/qt/GraphicsContextQt.cpp:
28909 (WebCore::GraphicsContext::applyStrokePattern):
28910 (WebCore::GraphicsContext::applyFillPattern):
28911
289122008-08-13 Eric Seidel <eric@webkit.org>
28913
28914 Attempt to fix the Windows build, no review.
28915
28916 * platform/win/CursorWin.cpp:
28917 (WebCore::loadCursorByName):
28918 * platform/win/ScrollViewWin.cpp:
28919 (WebCore::ScrollView::paint):
28920
289212008-08-13 Eric Seidel <eric@webkit.org>
28922
eric@webkit.org508c0282008-08-14 01:29:34 +000028923 Attempt to fix the Windows build, no review.
28924
28925 * platform/win/CursorWin.cpp:
28926 (WebCore::loadCursorByName):
28927 * platform/win/ScrollViewWin.cpp:
28928 (WebCore::ScrollView::paint):
28929
289302008-08-13 Eric Seidel <eric@webkit.org>
28931
eric@webkit.org1bf70ab2008-08-14 01:24:15 +000028932 Attempt to fix the Qt build, no review.
28933
28934 * platform/graphics/qt/ImageBufferQt.cpp:
28935 (WebCore::ImageBuffer::image):
28936
289372008-08-13 Eric Seidel <eric@webkit.org>
28938
eric@webkit.orgf2d7c212008-08-14 01:21:34 +000028939 Attempt to fix the Windows build, no review.
28940
28941 * platform/graphics/win/ImageWin.cpp:
28942 (WebCore::Image::loadPlatformResource):
28943 * plugins/win/PluginViewWin.cpp:
28944 (WebCore::PluginView::paintMissingPluginIcon):
28945
289462008-08-13 Eric Seidel <eric@webkit.org>
28947
eric@webkit.orgac3f6662008-08-14 01:15:50 +000028948 Another attempt to fix the Qt build, no review.
28949
28950 * platform/graphics/qt/ImageQt.cpp:
28951 * platform/graphics/qt/StillImageQt.h:
28952
289532008-08-13 Eric Seidel <eric@webkit.org>
28954
eric@webkit.org31e0d812008-08-14 01:05:42 +000028955 No review, build fix only.
28956
28957 Fix mac build, due to change in new code since my patch was written.
28958
28959 * svg/graphics/cg/SVGResourceMaskerCg.mm:
28960 (WebCore::SVGResourceMasker::applyMask):
28961
289622008-08-13 Eric Seidel <eric@webkit.org>
28963
eric@webkit.orga20a0032008-08-14 00:42:54 +000028964 Build fix only, no review.
28965
28966 Attempt to fix the Qt build.
28967
eric@webkit.org923255c2008-08-14 00:59:20 +000028968 * platform/graphics/qt/ImageBufferQt.cpp:
28969 * platform/graphics/qt/StillImageQt.h:
28970 (WebCore::StillImage::create):
28971 (WebCore::StillImage::destroyDecodedData):
28972 (WebCore::StillImage::decodedSize):
28973
289742008-08-13 Eric Seidel <eric@webkit.org>
28975
28976 Build fix only, no review.
28977
28978 Attempt to fix the Qt build.
28979
eric@webkit.orga20a0032008-08-14 00:42:54 +000028980 * html/CanvasStyle.cpp:
28981 (WebCore::CanvasStyle::applyStrokeColor):
28982 (WebCore::CanvasStyle::applyFillColor):
28983
289842008-08-13 Eric Seidel <eric@webkit.org>
28985
eric@webkit.org4aca3be2008-08-14 00:30:04 +000028986 Reviewed by Sam.
28987
28988 Match HTML5 spec by throwing INVALID_STATE_ERR when
28989 createPattern is called and the HTMLImageElement is not
28990 yet done loading the image (!isComplete)
28991 https://bugs.webkit.org/show_bug.cgi?id=20351
28992
28993 Test: http/misc/canvas-pattern-from-incremental-image.html
28994
28995 * html/CanvasRenderingContext2D.cpp:
28996 (WebCore::CanvasRenderingContext2D::createPattern):
28997
289982008-08-13 Eric Seidel <eric@webkit.org>
28999
eric@webkit.org5b265602008-08-14 00:29:26 +000029000 Reviewed by Niko.
29001
eric@webkit.orgf0124f62008-08-14 00:29:50 +000029002 Split out a Pattern class from CanvasPattern
29003 and remove all the Pattern-related #ifdefs
29004 (This will break non-mac platforms! I will fix them.)
29005 https://bugs.webkit.org/show_bug.cgi?id=20351
29006
29007 * GNUmakefile.am:
29008 * WebCore.pro:
29009 * WebCore.vcproj/WebCore.vcproj:
29010 * WebCore.xcodeproj/project.pbxproj:
29011 * WebCoreSources.bkl:
29012 * html/CanvasPattern.cpp:
29013 (WebCore::CanvasPattern::parseRepetitionType):
29014 (WebCore::CanvasPattern::CanvasPattern):
29015 * html/CanvasPattern.h:
29016 (WebCore::CanvasPattern::create):
29017 (WebCore::CanvasPattern::pattern):
29018 (WebCore::CanvasPattern::originClean):
29019 * html/CanvasRenderingContext2D.cpp:
29020 (WebCore::CanvasRenderingContext2D::createPattern):
29021 (WebCore::CanvasRenderingContext2D::applyStrokePattern):
29022 (WebCore::CanvasRenderingContext2D::applyFillPattern):
29023 * html/CanvasRenderingContext2D.h:
29024 * html/HTMLCanvasElement.cpp:
29025 * html/HTMLCanvasElement.h:
29026 * loader/FrameLoader.cpp:
29027 (WebCore::FrameLoader::createHistoryItem):
29028 * platform/graphics/GraphicsContext.h:
29029 * platform/graphics/cairo/GraphicsContextCairo.cpp:
29030 (WebCore::GraphicsContext::applyStrokePattern):
29031 (WebCore::GraphicsContext::applyFillPattern):
29032 * platform/graphics/cg/GraphicsContextCG.cpp:
29033 (WebCore::GraphicsContext::clipToImageBuffer):
29034 (WebCore::GraphicsContext::applyStrokePattern):
29035 (WebCore::GraphicsContext::applyFillPattern):
29036
290372008-08-13 Eric Seidel <eric@webkit.org>
29038
29039 Reviewed by Niko.
29040
eric@webkit.org5b265602008-08-14 00:29:26 +000029041 Make Images RefCounted (and clean up callers)
29042 https://bugs.webkit.org/show_bug.cgi?id=20351
29043
29044 * editing/DeleteButtonController.cpp:
29045 (WebCore::DeleteButtonController::createDeletionUI):
29046 * loader/CachedImage.cpp:
29047 (WebCore::CachedImage::CachedImage):
29048 (WebCore::brokenImage):
29049 (WebCore::nullImage):
29050 (WebCore::CachedImage::image):
29051 (WebCore::CachedImage::notifyObservers):
29052 (WebCore::CachedImage::createImage):
29053 * loader/CachedImage.h:
29054 * loader/icon/IconRecord.cpp:
29055 (WebCore::IconRecord::setImageData):
29056 (WebCore::IconRecord::loadImageFromResource):
29057 * loader/icon/IconRecord.h:
29058 * platform/graphics/BitmapImage.h:
29059 (WebCore::BitmapImage::create):
29060 * platform/graphics/GeneratedImage.h:
29061 * platform/graphics/Gradient.cpp:
29062 * platform/graphics/Gradient.h:
29063 * platform/graphics/Image.cpp:
29064 (WebCore::Image::nullImage):
29065 * platform/graphics/Image.h:
29066 * platform/graphics/ImageBuffer.h:
29067 * platform/graphics/cairo/ImageBufferCairo.cpp:
29068 (WebCore::ImageBuffer::image):
29069 * platform/graphics/cg/ImageBufferCG.cpp:
29070 (WebCore::ImageBuffer::image):
29071 (WebCore::ImageBuffer::getImageData):
29072 (WebCore::ImageBuffer::putImageData):
29073 * platform/graphics/cg/PDFDocumentImage.h:
29074 (WebCore::PDFDocumentImage::create):
29075 (WebCore::PDFDocumentImage::destroyDecodedData):
29076 (WebCore::PDFDocumentImage::decodedSize):
29077 * platform/graphics/gtk/ImageGtk.cpp:
29078 (WebCore::Image::loadPlatformResource):
29079 * platform/graphics/mac/ImageMac.mm:
29080 (WebCore::Image::loadPlatformResource):
29081 * rendering/RenderImage.cpp:
29082 * rendering/RenderLayer.cpp:
29083 (WebCore::RenderLayer::paintOverflowControls):
29084 * svg/graphics/SVGImage.cpp:
29085 (WebCore::SVGImage::nativeImageForCurrentFrame):
29086 * svg/graphics/SVGImage.h:
29087 (WebCore::SVGImage::create):
29088 (WebCore::SVGImage::destroyDecodedData):
29089 (WebCore::SVGImage::decodedSize):
29090 (WebCore::SVGImage::frameAtIndex):
29091 * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
29092 (WebCore::SVGPaintServerPattern::setup):
29093 * svg/graphics/cairo/SVGResourceMaskerCairo.cpp:
29094 (WebCore::SVGResourceMasker::applyMask):
29095 * svg/graphics/cg/SVGPaintServerPatternCg.cpp:
29096 (WebCore::patternCallback):
29097 * svg/graphics/cg/SVGResourceMaskerCg.mm:
29098 (WebCore::SVGResourceMasker::applyMask):
29099
291002008-08-13 Eric Seidel <eric@webkit.org>
29101
29102 Reviewed by Niko.
eric@webkit.org7811ef02008-08-14 00:28:51 +000029103
29104 Remove #ifdefs from CanvasStyle by using platform/Color.h
eric@webkit.org5b265602008-08-14 00:29:26 +000029105 https://bugs.webkit.org/show_bug.cgi?id=20351
eric@webkit.org7811ef02008-08-14 00:28:51 +000029106
29107 There are some down-sides to this commit.
29108 This commit limits us to 255 levels of grey for calls like:
29109 context.setStrokeStyle(.37, 1.0)
29110 previously CG might have used up to 32bits to store the grey level
29111 Since setStrokeStyle is not part of HTML5, I don't suspect the web will notice.
29112
29113 Likewise, setStrokeStyle/setFillStyle calls which used float colors are now limited
29114 to RGBA32 (like all the rest of colors in WebCore), thus:
29115 context.setStrokStyle(.37, .24, .456, .99) will now have the same precision as:
29116 context.strokeStyle = "rgba(.37, .24, .456, .99)", which is to say RGBA32
29117
29118 If this is a problem for Dashboard, we can either roll out this commit
29119 or add a beefier Color abstraction, which can be used internally by GraphicsContext
29120 when keeping state, and then GraphicsContext can grow some additional set* routines
29121 for setting the a grey/float/whatever fill and stroke.
29122
29123 * html/CanvasRenderingContext2D.cpp:
29124 (WebCore::CanvasRenderingContext2D::setFillStyle):
29125 * html/CanvasStyle.cpp:
29126 (WebCore::CanvasStyle::CanvasStyle):
29127 (WebCore::colorWithOverrideAlpha):
29128 (WebCore::CanvasStyle::applyStrokeColor):
29129 (WebCore::CanvasStyle::applyFillColor):
29130 * html/CanvasStyle.h:
29131 * platform/graphics/Color.cpp:
29132 (WebCore::colorFloatToRGBAByte):
29133 (WebCore::makeRGBA32FromFloats):
29134 * platform/graphics/Color.h:
29135
adele@apple.com83e44822008-08-13 23:50:41 +0000291362008-08-13 Eric Carlson <eric.carlson@apple.com>
29137
29138 Reviewed by Adele Peterson.
29139
29140 Fix for <rdar://problem/6137931>
29141 https://bugs.webkit.org/show_bug.cgi?id=20360
29142 Remove all parameters from the MIME type before checking with the MIME type registry
29143
29144 Tests: media/video-source-type-params.html
29145
29146 * html/HTMLMediaElement.cpp:
29147 (WebCore::HTMLMediaElement::pickMedia): only pass the portion before the first ';'
29148 to isSupportedMediaMIMEType()
29149
bdakin@apple.com7bc81bf2008-08-13 21:36:15 +0000291502008-08-13 Beth Dakin <bdakin@apple.com>
29151
29152 Reviewed by Sam Weinig.
29153
29154 Fix for <rdar://problem/6141345>
29155
29156 This patch refines findString and markAllMatchesForText functions'
29157 interactions with disconnected frames. They no longer rely on
29158 knowing where a range is relative to the visible region and work
29159 with disconnected frames that contain frames.
29160
29161 * editing/Editor.cpp:
29162 (WebCore::Editor::insideVisibleArea): Now returns a bool instead of
29163 the visiblity enum.
29164 (WebCore::Editor::firstVisibleRange): This now returns the very
29165 first visible range in the document. It's no longer dependent on
29166 searching forward.
29167 (WebCore::Editor::lastVisibleRange): This now returns the very last
29168 visible range in the document. It's no longer dependent on
29169 searching backwards.
29170 (WebCore::Editor::nextVisibleRange): This returns the next visible
29171 range in the appropriate direction from the current range.
29172 * editing/Editor.h:
29173 * page/Frame.cpp:
29174 (WebCore::Frame::findString):
29175 (WebCore::Frame::markAllMatchesForText):
29176
kevino@webkit.orgee5adc42008-08-13 20:07:16 +0000291772008-08-13 Kevin Ollivier <kevino@theolliviers.com>
29178
29179 wx build fix for case-sensitive platforms, like Linux.
29180
29181 * WebCoreSources.bkl:
29182
jmalonzo@webkit.org210145b2008-08-13 19:56:20 +0000291832008-08-13 Marco Barisione <marco.barisione@collabora.co.uk>
29184
29185 Reviewed by Holger Freyther.
29186
29187 http://bugs.webkit.org/show_bug.cgi?id=16881
29188 [GTK] PlatformScreenGtk is unimplemented
29189
29190 Original patch by Christian Dywan.
29191
29192 * platform/gtk/PlatformScreenGtk.cpp:
29193 (WebCore::screenDepth):
29194 (WebCore::screenDepthPerComponent):
29195 (WebCore::screenIsMonochrome):
29196 (WebCore::screenRect):
29197 (WebCore::screenAvailableRect):
29198
jmalonzo@webkit.orge4693932008-08-13 19:42:08 +0000291992008-08-13 Jan Michael Alonzo <jmalonzo@webkit.org>
29200
29201 Reviewed by Holger Freyther.
29202
29203 http://bugs.webkit.org/show_bug.cgi?id=20318
29204 SharedTimerGtk should use G_PRIORITY_DEFAULT_IDLE for g_idle_add
29205
29206 g_idle_add is the same as g_idle_add_full with a priority of
29207 G_PRIORITY_DEFAULT_IDLE, so we can safely use that.
29208
29209 * platform/gtk/SharedTimerGtk.cpp:
29210 (WebCore::setSharedTimerFireTime):
29211
timothy@apple.comf0426602008-08-13 18:11:01 +0000292122008-08-13 Timothy Hatcher <timothy@apple.com>
29213
29214 Changed the InspectorController so it can be notified when the
29215 attached state of the Inspector changes in WebKit.
29216
29217 Reviewed by Kevin McCullough.
29218
29219 * WebCore.base.exp: Updated the symbol for setWindowVisible.
29220 * page/InspectorController.cpp:
29221 (WebCore::InspectorController::setWindowVisible): Added an attached argument,
29222 that defaults to false.Call setAttachedWindow with the attached argument.
29223 (WebCore::InspectorController::setAttachedWindow): Call the script version
29224 of setAttachedWindow.
29225 * page/InspectorController.h:
29226 * page/inspector/inspector.js:
29227 (WebInspector.setAttachedWindow): Set the attached property.
29228
timothy@apple.com9ea832b2008-08-13 18:10:36 +0000292292008-08-12 Timothy Hatcher <timothy@apple.com>
29230
timothy@apple.com72c92ae2008-08-13 18:10:45 +000029231 Added a close button to the Inspector's toolbar when docked.
29232
29233 https://bugs.webkit.org/show_bug.cgi?id=14270
29234
29235 Reviewed by Kevin McCullough.
29236
29237 * page/InspectorController.cpp:
29238 (WebCore::closeWindow): Call InspectorController::closeWindow.
29239 (WebCore::InspectorController::windowScriptObjectAvailable):
29240 Added closeWindow to the script class.
29241 * page/InspectorController.h:
29242 * page/inspector/Images/closeButtons.png: Added.
29243 * page/inspector/inspector.css: Added and changed styles.
29244 * page/inspector/inspector.html: Added the close button.
29245 * page/inspector/inspector.js:
29246 (WebInspector.loaded): Added click event listener to the close button.
29247 (WebInspector.close): Call InspectorController.closeWindow.
29248
292492008-08-12 Timothy Hatcher <timothy@apple.com>
29250
timothy@apple.com9ea832b2008-08-13 18:10:36 +000029251 Make the docked Web Inspector resizable. This is the cross platform
29252 portion of the code. Each InspectorClient needs to implement the
29253 real resize code.
29254
29255 https://bugs.webkit.org/show_bug.cgi?id=14282
29256
29257 Reviewed by Kevin McCullough.
29258
29259 * loader/EmptyClients.h: Added an empty setAttachedWindowHeight.
29260 * page/InspectorClient.h: Added setAttachedWindowHeight.
29261 * page/InspectorController.cpp:
29262 (WebCore::setAttachedWindowHeight): Call setAttachedWindowHeight
29263 on the InspectorController.
29264 (WebCore::InspectorController::setAttachedWindowHeight): Call
29265 setAttachedWindowHeight on the client.
29266 (WebCore::InspectorController::windowScriptObjectAvailable):
29267 Added setAttachedWindowHeight to the script class.
29268 * page/InspectorController.h:
29269 * page/inspector/inspector.css: Make the cursor on the toolbar be
29270 row-resize when docked.
29271 * page/inspector/inspector.js:
29272 (WebInspector.loaded): Always add the toolbarDragStart event listener.
29273 (WebInspector.toolbarDragStart): Return early if we are not attached
29274 and not on Leopard. Call WebInspector.elementDragStart.
29275 (WebInspector.toolbarDragEnd): Call WebInspector.elementDragEnd.
29276 (WebInspector.toolbarDrag): When attached call setAttachedWindowHeight,
29277 otherwise call moveByUnrestricted.
29278
hausmann@webkit.orgd34f1d22008-08-13 13:43:34 +0000292792008-08-13 Simon Hausmann <hausmann@webkit.org>
29280
29281 Reviewed by Holger.
29282
29283 Initialize m_zoomsTextOnly in the Settings constructor.
29284
29285 * page/Settings.cpp:
29286 (WebCore::Settings::Settings):
29287
hausmann@webkit.org74586d62008-08-13 13:31:11 +0000292882008-08-13 Brad Hughes <bhughes@trolltech.com>
29289
29290 Reviewed by Simon.
29291
29292 Fix compiling of QtWebKit in release mode with the Intel C++ Compiler for Linux
29293
29294 The latest upgrade of the intel compiler allows us to compile all of
29295 Qt with optimizations enabled (yay!).
29296
29297 * WebCore.pro:
29298
hausmann@webkit.org690b7fc2008-08-13 13:24:56 +0000292992008-08-13 Prasanth Ullattil <prasanth.ullattil@trolltech.com>
29300
29301 Reviewed by Simon.
29302
29303 Fix QtWebKit not displaying content on 403 HTTP responses
29304
29305 Just like with 404 responses also display content with 403, as
29306 used by http://audiio.ejamming.proteus-tech.com/audiio/profile/original_signup/
29307
29308 * platform/network/qt/QNetworkReplyHandler.cpp:
29309 (WebCore::QNetworkReplyHandler::finish):
29310
hausmann@webkit.org88c4dc92008-08-13 12:02:00 +0000293112008-08-13 Simon Hausmann <hausmann@webkit.org>
29312
hausmann@webkit.orgd2315e32008-08-13 13:16:15 +000029313 Reviewed by Holger.
29314
29315 Qt part of https://bugs.webkit.org/show_bug.cgi?id=18994
29316
29317 Make the formatting of String::format() locale independent through the use of QString::vsprintf.
29318
29319 * platform/text/String.cpp:
29320 (WebCore::String::format):
29321
293222008-08-13 Simon Hausmann <hausmann@webkit.org>
29323
hausmann@webkit.org88c4dc92008-08-13 12:02:00 +000029324 Reviewed by Lars.
29325
29326 Fix QWebFrame::setHtml() not setting the new contents immediately.
29327
29328 Added a setter to the DocumentLoader to toggle the deferred loading of the main
29329 resource when it comes from substitute data.
29330
29331 Disable deferred loading of the main resource when we have valid substitute data,
29332 as used by QWebFrame::setHtml.
29333
29334 * loader/DocumentLoader.h:
29335
mrowe@apple.com6aa36d12008-08-13 09:58:32 +0000293362008-08-13 Mark Rowe <mrowe@apple.com>
29337
29338 Speculative GTK build fix.
29339
29340 * GNUmakefile.am: Add dependency info for JSSVGElementWrapperFactory.cpp.
29341
hausmann@webkit.org298ce5f2008-08-13 09:11:23 +0000293422008-08-13 Thiago Macieira <tjmaciei@trolltech.com>
29343
29344 Reviewed by Simon.
29345
29346 Fix encoding of [ and ] in the host part of the URL
29347
29348 Until QUrl is fixed (making QUrl's tolerant parser more tolerant), we have to
29349 add this workaround to the QUrl <> WebCore::KURL conversion operator so that it
29350 doesn't encode [ and ] when they are found in the host part. That is, the
29351 following URL:
29352 http://[::1]/
29353 is valid and should not be reencoded to:
29354 http://%5b::1%5d/
29355
29356 * platform/qt/KURLQt.cpp:
29357 (WebCore::KURL::operator QUrl):
29358
mitz@apple.come198b012008-08-12 21:49:07 +0000293592008-08-12 Mihnea Ovidenie <mihnea@adobe.com>
29360
29361 Fix for https://bugs.webkit.org/show_bug.cgi?id=19891
29362 Broken HTML object elements cause de-reference of pointer to freed memory.
29363 If we fail to load an image for an object tag and we no longer believe the object tag points at
29364 an image, then clear m_imageLoader in the HTMLObjectElement so that we attempt to render the
29365 fall back content.
29366
29367 Reviewed by Dave Hyatt and Alexey Proskuryakov.
29368
29369 Test: http/tests/misc/object-image-error-with-onload.html
29370
29371 * html/HTMLObjectElement.cpp:
29372 (WebCore::HTMLObjectElement::renderFallbackContent):
29373 * page/Frame.cpp:
29374 (WebCore::Frame::Frame):
29375
zimmermann@webkit.org36a02512008-08-12 21:11:17 +0000293762008-08-12 Nikolas Zimmermann <zimmermann@kde.org>
29377
29378 Reviewed by Dave.
29379
29380 Fixes: https://bugs.webkit.org/show_bug.cgi?id=19798
29381 Masks are translated, and the mask images are swapped on the y-axis.
29382
29383 Turned out that http://trac.webkit.org/changeset/31830/trunk/WebCore/svg/graphics/cg/SVGResourceMaskerCg.mm
29384 is guilty. GraphicsContext::clipToImageBuffer() does some extra transformations that SVGResourcesMaskerCg does not want.
29385
29386 Long term goal is to remove the SVGResource*/SVGPaintServer* classes anyway, so it's okay to duplicate
29387 the "clip to image buffer" functionality, in the CG specific SVGResourceMaskerCg class - as it was before.
29388
29389 * svg/graphics/cg/SVGResourceMaskerCg.mm:
29390 (WebCore::SVGResourceMasker::applyMask): Changed back to use CG clipping again.
29391
mitz@apple.comf8a98692008-08-12 17:04:42 +0000293922008-08-12 Dan Bernstein <mitz@apple.com>
29393
mitz@apple.com1b7e844f2008-08-12 20:54:12 +000029394 - WebCore part of <rdar://problem/6121636>
29395 Make fast*alloc() abort() on failure and add "try" variants that
29396 return NULL on failure.
29397
29398 Reviewed by Darin Adler.
29399
29400 * platform/Arena.cpp:
29401 (WebCore::ArenaAllocate): Removed null checking of fastMalloc()'s
29402 result.
29403 * platform/graphics/cg/ImageBufferCG.cpp:
29404 (WebCore::ImageBuffer::create): Changed to use tryFastCalloc().
29405
294062008-08-12 Dan Bernstein <mitz@apple.com>
29407
mitz@apple.com1e09cd72008-08-12 18:27:58 +000029408 Reviewed by Darin Adler.
29409
29410 - fix https://bugs.webkit.org/show_bug.cgi?id=19348
29411 <rdar://problem/5978447> REGRESSION (r34193): Setting the size of a frame with javascript document.body.row no longer works
29412
29413 Test: fast/frames/frameset-style-recalc.html
29414
29415 * html/HTMLFrameSetElement.cpp:
29416 (WebCore::HTMLFrameSetElement::recalcStyle): Changed to call the base
29417 class implementation after marking for layout.
29418
294192008-08-12 Dan Bernstein <mitz@apple.com>
29420
mitz@apple.comf8a98692008-08-12 17:04:42 +000029421 Reviewed by John Sullivan.
29422
29423 - move shouldUpdateWhenOffscreen from Settings to FrameView and rename it shouldUpdateWhileHidden
29424
29425 * WebCore.base.exp:
29426 * page/FrameView.cpp:
29427 (WebCore::FrameViewPrivate::FrameViewPrivate):
29428 (WebCore::FrameView::shouldUpdateWhileHidden):
29429 (WebCore::FrameView::setShouldUpdateWhileHidden):
29430 * page/FrameView.h:
29431 * page/Settings.cpp:
29432 * page/Settings.h:
29433
aroben@apple.comeeb8ebb2008-08-12 14:58:51 +0000294342008-08-12 Adam Roben <aroben@apple.com>
29435
29436 Windows build fix
29437
29438 * bindings/js/JSSVGPODTypeWrapper.h: Align
29439 JSSVGDynamicPODTypeWrapper's and JSSVGStaticPODTypeWrapperWithParent's
29440 members on 16-byte boundaries to avoid an alignment warning.
29441
zimmermann@webkit.orge1388112008-08-12 10:27:53 +0000294422008-08-12 Nikolas Zimmermann <zimmermann@kde.org>
29443
29444 Reviewed by Oliver.
29445
zimmermann@webkit.org504f2552008-08-12 10:35:09 +000029446 Add new dynamice-update layout tests covering SVGMarkerElement.
29447 Fix bug: SVGMarkerElement's SVG DOM function calls don't update rendering.
29448 Fix orientAngle/orientType confusion: "auto" orient should always return "0" as angle.
29449
29450 Tests: svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr.html
29451 svg/dynamic-updates/SVGMarkerElement-dom-markerUnits-attr.html
29452 svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr.html
29453 svg/dynamic-updates/SVGMarkerElement-dom-orient-attr.html
29454 svg/dynamic-updates/SVGMarkerElement-dom-refX-attr.html
29455 svg/dynamic-updates/SVGMarkerElement-dom-refY-attr.html
29456 svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop.html
29457 svg/dynamic-updates/SVGMarkerElement-svgdom-markerUnits-prop.html
29458 svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop.html
29459 svg/dynamic-updates/SVGMarkerElement-svgdom-orientAngle-prop.html
29460 svg/dynamic-updates/SVGMarkerElement-svgdom-orientType-prop.html
29461 svg/dynamic-updates/SVGMarkerElement-svgdom-refX-prop.html
29462 svg/dynamic-updates/SVGMarkerElement-svgdom-refY-prop.html
29463 svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call.html
29464 svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call.html
29465
29466 * svg/SVGMarkerElement.cpp:
29467 (WebCore::SVGMarkerElement::SVGMarkerElement):
29468 (WebCore::SVGMarkerElement::parseMappedAttribute):
29469 (WebCore::SVGMarkerElement::svgAttributeChanged):
29470 (WebCore::SVGMarkerElement::childrenChanged):
29471 (WebCore::SVGMarkerElement::setOrientToAuto):
29472 (WebCore::SVGMarkerElement::setOrientToAngle):
29473 (WebCore::SVGMarkerElement::canvasResource):
29474
294752008-08-12 Nikolas Zimmermann <zimmermann@kde.org>
29476
29477 Reviewed by Oliver.
29478
zimmermann@webkit.orge1388112008-08-12 10:27:53 +000029479 Add new dynamic-update layout tests covering SVGImageElement.
29480 Fix bug: SVGImageElement doesn't react on 'preserveAspectRatio' changes.
29481
29482 Tests: svg/dynamic-updates/SVGImageElement-dom-height-attr.html
29483 svg/dynamic-updates/SVGImageElement-dom-preserveAspectRatio-attr.html
29484 svg/dynamic-updates/SVGImageElement-dom-width-attr.html
29485 svg/dynamic-updates/SVGImageElement-dom-x-attr.html
29486 svg/dynamic-updates/SVGImageElement-dom-y-attr.html
29487 svg/dynamic-updates/SVGImageElement-svgdom-height-prop.html
29488 svg/dynamic-updates/SVGImageElement-svgdom-preserveAspectRatio-prop.html
29489 svg/dynamic-updates/SVGImageElement-svgdom-width-prop.html
29490 svg/dynamic-updates/SVGImageElement-svgdom-x-prop.html
29491 svg/dynamic-updates/SVGImageElement-svgdom-y-prop.html
29492
29493 * svg/SVGImageElement.cpp:
29494 (WebCore::SVGImageElement::svgAttributeChanged):
29495
timothy@apple.com93114722008-08-12 04:20:25 +0000294962008-08-11 Anthony Ricaud <rik24d@gmail.com>
29497
timothy@apple.com2f2cde32008-08-12 04:28:16 +000029498 Changed Option/Alt-Up or Down in CSS editing when the value is
29499 near zero to jump to the next integer.
29500
29501 Reviewed by Tim Hatcher.
29502
29503 https://bugs.webkit.org/show_bug.cgi?id=20326
29504
29505 * page/inspector/StylesSidebarPane.js:
29506
295072008-08-11 Anthony Ricaud <rik24d@gmail.com>
29508
timothy@apple.com93114722008-08-12 04:20:25 +000029509 Changed the line highlight transition for an easier animation.
29510
29511 Reviewed by Tim Hatcher.
29512
29513 * page/inspector/SourceFrame.js:
29514
timothy@apple.com24a14852008-08-12 03:57:39 +0000295152008-08-11 Keishi Hattori <casey.hattori@gmail.com>
29516
29517 Added support for some Firebug Command Line APIs.
29518
29519 Reviewed by Tim Hatcher.
29520
29521 https://bugs.webkit.org/show_bug.cgi?id=19867
29522 https://bugs.webkit.org/show_bug.cgi?id=19868
29523 https://bugs.webkit.org/show_bug.cgi?id=19869
29524 https://bugs.webkit.org/show_bug.cgi?id=19875
29525 https://bugs.webkit.org/show_bug.cgi?id=19876
29526 https://bugs.webkit.org/show_bug.cgi?id=19880
29527
29528 * page/inspector/Console.js:
29529 (WebInspector.Console.prototype._evalInInspectedWindow):
29530 Create an object on the inspected window that holds the console
29531 command line API functions. This object is used in a with statement
29532 around the typed expression.
29533
zimmermann@webkit.org0350b6d2008-08-12 02:22:26 +0000295342008-08-11 Nikolas Zimmermann <zimmermann@kde.org>
29535
29536 Reviewed by Antti.
29537
29538 Fixes: http://bugs.webkit.org/show_bug.cgi?id=17736
29539
29540 JS wrapper objects around SVG POD types, that contain other SVG POD types with writable properties
29541 failed to update. Modification of the values were completly ignored (ie. transform.matrix.a = 50, didn't take any effect)
29542
29543 Added tests: svg/custom/svg-modify-currentTranslate.html
29544 svg/custom/tearoffs-with-tearoffs.html
29545 svg/custom/immutable-properties.html
29546
29547 Fixed tests: svg/dynamic-updates/SVGLinearGradientElement-svgdom-gradientTransform-prop.html
29548
29549 * bindings/js/JSSVGPODTypeWrapper.h:
29550 (WebCore::JSSVGDynamicPODTypeWrapper::commitChange):
29551 (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::create):
29552 (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::commitChange):
29553 (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::JSSVGStaticPODTypeWrapperWithPODTypeParent):
29554 (WebCore::JSSVGStaticPODTypeWrapperWithParent::create):
29555 (WebCore::JSSVGStaticPODTypeWrapperWithParent::operator PODType):
29556 (WebCore::JSSVGStaticPODTypeWrapperWithParent::commitChange):
29557 (WebCore::JSSVGStaticPODTypeWrapperWithParent::JSSVGStaticPODTypeWrapperWithParent):
29558 * bindings/scripts/CodeGenerator.pm:
29559 * bindings/scripts/CodeGeneratorJS.pm:
29560 * svg/SVGSVGElement.idl: Add [Immutable] markers to SVG POD attributes, that contain POD types with writable attributes.
29561 * svg/SVGZoomEvent.idl: SVG specification explicitely demands these attributes to be readonly, even its content.
29562
beidson@apple.com0e772f72008-08-12 00:34:46 +0000295632008-08-11 Brady Eidson <beidson@apple.com>
29564
29565 Reviewed by John and Anders
29566
29567 Fix for <rdar://problem/6141797>
29568
29569 When WebArchives were entirely a WebKit concept, there was a guarantee that a WebResource
29570 would never have nil data.
29571
29572 When they were pushed down into WebCore, that guarantee was lost, subtly changing a few
29573 semantics with some WebKit applications.
29574
29575 The guarantee was a good one and should be restored.
29576
29577 Note that ApplicationCacheResource doesn't need any updates to follow this rule as it already
29578 creates an empty data object in the case of null data for its own purposes.
29579
29580 * loader/SubstituteResource.h:
29581 (WebCore::SubstituteResource::SubstituteResource): ASSERT that the data is not null. This
29582 well help any future subclassers not make this mistake.
29583
29584 * loader/archive/ArchiveResource.cpp:
29585 (WebCore::ArchiveResource::create): Return 0 if the data is null.
29586
simon.fraser@apple.come0d44792008-08-11 22:44:06 +0000295872008-08-11 Simon Fraser <simon.fraser@apple.com>
29588
29589 Reviewed by Dave Hyatt
29590
29591 https://bugs.webkit.org/show_bug.cgi?id=20328
29592 Fix a problem when an 'all' transition transition with more than
29593 one property changing is interrupted, and did some AnimationController
29594 cleanup.
29595
29596 Test: transitions/interrupted-all-transition.html
29597
29598 * page/AnimationController.cpp:
29599 (WebCore::ImplicitAnimation::ImplicitAnimation):
29600 (WebCore::AnimationControllerPrivate::blendProperties):
29601 (WebCore::CompositeAnimation::updateTransitions):
29602 (WebCore::CompositeAnimation::cleanupFinishedAnimations):
29603 (WebCore::CompositeAnimation::setTransitionStartTime):
29604 (WebCore::CompositeAnimation::overrideImplicitAnimations):
29605 (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
29606 (WebCore::ImplicitAnimation::animate):
29607 (WebCore::ImplicitAnimation::onAnimationEnd):
29608 (WebCore::ImplicitAnimation::sendTransitionEvent):
29609 (WebCore::ImplicitAnimation::affectsProperty):
29610 (WebCore::KeyframeAnimation::endAnimation):
29611 (WebCore::KeyframeAnimation::onAnimationEnd):
29612
kmccullough@apple.com4a967c12008-08-11 20:45:19 +0000296132008-08-11 Kevin McCullough <kmccullough@apple.com>
29614
29615 Reviewed by Tim.
29616
29617 - Because console messages have group levels now, newly created messages
29618 that do not specify the level lose their message since the number of
29619 arguments is wrong.
29620
29621 * page/inspector/Console.js:
29622 * page/inspector/Resource.js:
29623
alp@webkit.orgeeb55142008-08-11 19:52:14 +0000296242008-08-11 Alp Toker <alp@nuanti.com>
29625
29626 Build fix. Add new files from r35666 (WebKitAnimationEvent). Also take
29627 the opportunity to sort the sources lists.
29628
29629 * GNUmakefile.am:
29630
timothy@apple.com9fe09f82008-08-11 18:48:37 +0000296312008-08-11 Timothy Hatcher <timothy@apple.com>
29632
29633 Speed up the the JavaScript syntax highlighter by generating
29634 the finders only once per script instead of per line.
29635
29636 https://bugs.webkit.org/show_bug.cgi?id=20346
29637
29638 Reviewed by Adam Roben.
29639
29640 * page/inspector/SourceFrame.js:
29641 (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine):
29642 Removed, factored into syntaxHighlightJavascript as an inline function.
29643 (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript):
29644 Pulled in the _syntaxHighlightJavascriptLine so it will create a closure.
29645 Generate the finders before iterating the lines.
29646
aroben@apple.com957d2d32008-08-11 18:31:37 +0000296472008-08-11 Adam Roben <aroben@apple.com>
29648
29649 Windows build fix
29650
29651 * WebCore.vcproj/WebCore.vcproj: Added JSWebKitAnimationEvent.cpp and
29652 JSWebKitTransitionEvent.cpp to the project. Let VS reformat the file,
29653 too.
29654
mitz@apple.com3f0060f2008-08-11 18:04:46 +0000296552008-08-11 Dan Bernstein <mitz@apple.com>
29656
29657 Reviewed by Darin Adler.
29658
29659 - fix <rdar://problem/6131096> Reproducible crash in CounterNode::isReset under guard malloc
29660
29661 Test: fast/css/counters/invalidate-cached-counter-node.html
29662
29663 * rendering/RenderContainer.cpp:
29664 (WebCore::RenderContainer::invalidateCounters): Added. Invalidates all
29665 RenderCounters in :before and :after content.
29666 * rendering/RenderContainer.h:
29667 * rendering/RenderCounter.cpp:
29668 (WebCore::RenderCounter::isCounter): Renamed isRenderCounter() to this
29669 to match the RenderObject method.
29670 (WebCore::RenderCounter::invalidate): Added. Resets the cached
29671 CounterNode and invalidates the object's layout and preferred widths.
29672 (WebCore::destroyCounterNodeChildren): Added a call to
29673 invalidateCounters().
29674 * rendering/RenderCounter.h:
29675 * rendering/RenderObject.h:
29676 (WebCore::RenderObject::invalidateCounters):
29677
dino@apple.com2af8c3a2008-08-11 17:24:36 +0000296782008-08-11 Dean Jackson <dino@apple.com>
29679
29680 Implement CSS Animation and Transition Events
29681 https://bugs.webkit.org/show_bug.cgi?id=20337
29682
29683 Implement the events defined in the CSS Animations
29684 and Transitions specifications so code can react
29685 to animations and transitions.
29686
29687 Reviewed by Tim Hatcher and Dave Hyatt.
29688
29689 * DerivedSources.make:
29690 * GNUmakefile.am:
29691 * WebCore.pro:
29692 * WebCore.vcproj/WebCore.vcproj:
29693 * WebCore.xcodeproj/project.pbxproj:
29694 * WebCoreSources.bkl:
29695 Build configs for new files
29696
29697 * bindings/js/JSDOMWindowBase.cpp:
29698 * bindings/js/JSDOMWindowBase.h:
29699 * bindings/js/JSEventCustom.cpp:
29700 * dom/Document.h:
29701 * dom/Event.cpp:
29702 * dom/Event.h:
29703 * dom/EventTarget.cpp:
29704 * dom/EventTargetNode.cpp:
29705 * dom/EventTargetNode.h:
29706 * html/HTMLElement.cpp:
29707 * page/AnimationController.cpp:
29708 do all the new event stuff
29709
29710 * html/HTMLAttributeNames.in:
29711 the onwebkitanimation* and onwebkittransitionend attrs
29712
29713 * dom/WebKitAnimationEvent.cpp: Added.
29714 * dom/WebKitAnimationEvent.h: Added.
29715 * dom/WebKitAnimationEvent.idl: Added.
29716 * dom/WebKitTransitionEvent.cpp: Added.
29717 * dom/WebKitTransitionEvent.h: Added.
29718 * dom/WebKitTransitionEvent.idl: Added.
29719 New files for the events
29720
29721 * manual-tests/transition-events.html: Added.
29722 New testfile
29723
aroben@apple.com3eae8622008-08-11 17:21:23 +0000297242008-08-11 Adam Roben <aroben@apple.com>
29725
29726 Add a ForwardingHeader for wtf/NotFound.h
29727
29728 Rubberstamped by Darin Adler.
29729
29730 * ForwardingHeaders/wtf/NotFound.h: Added.
29731
timothy@apple.com2f5bdf02008-08-11 16:53:30 +0000297322008-08-11 Timothy Hatcher <timothy@apple.com>
29733
29734 Fixes a bug where error bubbles in JavaScript resources would
29735 be clobbered by the syntax highlighter.
29736
29737 https://bugs.webkit.org/show_bug.cgi?id=20345
29738
29739 Reviewed by Adam Roben.
29740
29741 * manual-tests/inspector/resources/script-error.js: Added.
29742 * manual-tests/inspector/styled-error-bubbles-in-scripts.html: Added.
29743 * page/inspector/SourceFrame.js:
29744 (WebInspector.SourceFrame.prototype._addMessageToSource):
29745 Check the nodeType and not the nodeName, this is less fragile.
29746 (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine):
29747 Check if the lastChild is an error bubble, if so remove it before
29748 getting the line's textContent. Add the error bubble back at the end.
29749
mrowe@apple.com4ec50d02008-08-11 05:07:42 +000029750== Rolled over to ChangeLog-2008-08-10 ==