1 2008-03-13 Simon Hausmann <hausmann@webkit.org>
5 * bridge/qt/qt_instance.cpp:
6 (KJS::Bindings::QtInstance::getQtInstance):
7 (KJS::Bindings::QtInstance::getRuntimeObject):
8 * bridge/qt/qt_instance.h:
9 (KJS::Bindings::QtInstance::create):
10 * bridge/qt/qt_runtime.cpp:
11 (KJS::Bindings::convertQVariantToValue):
12 (KJS::Bindings::QtConnectionObject::execute):
13 * page/qt/FrameQt.cpp:
14 (WebCore::Frame::createScriptInstanceForWidget):
16 2008-03-12 Sam Weinig <sam@webkit.org>
18 Reviewed by Darin Adler.
20 Fix <rdar://problem/5784773>
21 Crash loading QT movies @ apple.com/ipodtouch/features.html with a PAC file (WebKitThreadingException)
23 Make bridged RuntimeObjects get collected on the main thread only. This is necessary
24 because clients of the bridged objects are unlikely to prepared for a collection on
25 non-main thread, which can happen with a PAC file.
27 * bridge/runtime_object.cpp:
28 (RuntimeObjectImp::RuntimeObjectImp):
30 2008-03-12 Adam Roben <aroben@apple.com>
32 Fix Bug 17815: Inspector's DOM tree should descend into subframes
34 <http://bugs.webkit.org/show_bug.cgi?id=17815>
38 * page/inspector/DocumentPanel.js:
39 (WebInspector.DocumentPanel.revealNode): Changed to provide
40 _isAncestorIncludingParentFramesWithinPanel and
41 _parentNodeOrFrameElementWithinPanel for the isAncestor and getParent
42 parameters to findTreeElement so that parent frames will be searched.
43 (WebInspector.DocumentPanel.updateBreadcrumb):
44 - Changed while loop to for loop
45 - Use _parentNodeOrFrameElementWithinPanel instead of
46 Node.parentNode to move to the next node
47 - The loop now ends when we reach the DocumentPanel's document node
48 - Traversal past other Document nodes is now allowed
49 - We add the "start" class to the final crumb after the loop exits
50 (WebInspector.DocumentPanel._getDocumentForNode): Added. Simple helper
51 that returns the node itself if the node is a Document node, or the
52 node's ownerDocument otherwise.
53 (WebInspector.DocumentPanel._parentNodeOrFrameElementWithinPanel):
54 Added. Returns the node's parent node or, in the case of a Document
55 node, the node's window's owning frame element, but will not return a
56 node that is in a parent frame of the DocumentPanel's Document.
57 (WebInspector.DocumentPanel._isAncestorIncludingParentFramesWithinPanel):
58 Added. Returns true if a is an ancestor of b if a is an ancestor of a
59 frame element whose subframe(s) contain b.
60 (WebInspector.DOMNodeTreeElement): We now consider ourselves to have
61 children if we have a contentDocument.
62 (WebInspector.DOMNodeTreeElement.onpopulate): Moved the appendChild
63 loop into a function so that we can add both children of our
64 contentDocument and children of our node to the tree.
65 (WebInspector.DOMNodeTreeElement.ondblclick): Changed so that we get
66 the rootDOMNode by traversing the tree outline hierarchy instead of
67 the DOM hierarchy so that we can easily jump up to a parent frame.
69 2008-03-12 Adam Roben <aroben@apple.com>
71 Update the styles/metrics panes and breadcrumb after editing DOM
76 * page/inspector/DocumentPanel.js:
77 (WebInspector.DocumentPanel.set focusedDOMNode): Moved code to update
78 the parts of the DocumentPanel other than the DOM tree into a new
79 function, _focusedNodeChanged.
80 (WebInspector.DocumentPanel._focusedNodeChanged): Added. The
81 forceUpdate parameter specifies whether the update should occur even
82 if the focused node hasn't changed since the last update.
83 (WebInspector.DocumentPanel.updateBreadcrumb): Added a forceUpdate
84 parameter. If forceUpdate is true, we always rebuild the breadcrumbs.
85 (WebInspector.DocumentPanel.updateStyles): Added a forceUpdate
86 parameter. If forceUpdate is true, we always rebuild the styles pane.
87 (WebInspector.DOMNodeTreeElement._attributeEditingCommitted): Added a
88 call to DocumentPanel._focusedNodeChanged. We have to force the update
89 because we haven't changed the focused node (the attributes of the
91 * page/inspector/StylesSidebarPane.js:
92 (WebInspector.StylesSidebarPane.update): Added a forceUpdate
93 parameter. If forceUpdate is true we always rebuild the styles.
95 2008-03-12 Mark Rowe <mrowe@apple.com>
97 Further Gtk and Qt build fixes.
100 (KJS::Bindings::Instance::createRuntimeObject): Adapt Qt-only code for change to PassRefPtr.
101 * page/gtk/FrameGtk.cpp: Add missing include.
103 2008-03-12 Mark Rowe <mrowe@apple.com>
105 Fix Gtk and Qt builds.
107 * page/gtk/FrameGtk.cpp:
108 * page/qt/FrameQt.cpp:
110 2008-03-12 Mark Rowe <mrowe@apple.com>
114 * WebCore.base.exp: Remove symbol.
116 2008-03-12 Steve Falkenburg <sfalken@apple.com>
120 * page/win/FrameWin.cpp:
122 2008-03-12 Steve Falkenburg <sfalken@apple.com>
126 * plugins/win/PluginViewWin.cpp:
127 (WebCore::PluginView::bindingInstance):
129 2008-03-12 Darin Adler <darin@apple.com>
133 - http://bugs.webkit.org/show_bug.cgi?id=17640
134 eliminate WebCoreFrameBridge
136 * WebCore.base.exp: Added more exports, needed by code moved from WebCoreFrameBridge
137 to WebFrame in WebKit.
138 * WebCore.xcodeproj/project.pbxproj: Added more headers, same reason. Also deleted
139 WebCoreFrameBridge.h and WebCoreFrameBridge.mm.
142 (WebCore::Frame::Frame): Added call to initJavaJSBindings(), formerly handled by
143 the WebCoreFrameBridge.
144 * page/Frame.h: Added initJavaJSBindings function.
146 * page/mac/FrameMac.mm:
147 (WebCore::updateRenderingForBindings): Moved here from WebCoreFrameBridge.
148 (WebCore::Frame::initJavaJSBindings): Ditto; code was in the init function.
150 * page/mac/WebCoreFrameBridge.h: Removed.
151 * page/mac/WebCoreFrameBridge.mm: Removed.
153 2008-03-12 Sam Weinig <sam@webkit.org>
155 Reviewed by Anders Carlsson.
157 Don't go through the Document just to get the frame Element.
159 * page/DOMWindow.cpp:
160 (WebCore::DOMWindow::frameElement):
162 2008-03-12 Anders Carlsson <andersca@apple.com>
164 Reviewed by Geoff and Sam.
166 More Instance cleanup:
168 * Make Instance inherit from RefCounted instead of doing its own refcounting.
169 * Make all Instance subclasses private, add static create methods.
170 * Have Instance start out with a refcount of 1.
171 * Get rid of Instance::createBindingForLanguageInstance and call the individual
172 instance constructor methods instead.
173 * Fix many methods to take and return PassRefPtr<Instance> to ensure that the
174 refcounting is done correctly.
176 * bridge/c/c_instance.h:
177 (KJS::Bindings::CInstance::create):
178 * bridge/c/c_utility.cpp:
179 (KJS::Bindings::convertNPVariantToValue):
180 * bridge/jni/jni_instance.cpp:
181 (JavaInstance::invokeMethod):
182 * bridge/jni/jni_instance.h:
183 (KJS::Bindings::JavaInstance::create):
184 * bridge/jni/jni_jsobject.cpp:
185 (JavaJSObject::convertJObjectToValue):
186 * bridge/jni/jni_runtime.cpp:
187 (JavaField::valueFromInstance):
188 (JavaArray::valueAt):
189 * bridge/objc/objc_instance.h:
190 (KJS::Bindings::ObjcInstance::create):
191 * bridge/objc/objc_utility.mm:
192 (KJS::Bindings::convertObjcValueToValue):
193 * bridge/qt/qt_instance.cpp:
194 (KJS::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp):
195 (KJS::Bindings::QtInstance::getQtInstance):
196 (KJS::Bindings::QtInstance::getRuntimeObject):
197 * bridge/qt/qt_instance.h:
198 * bridge/runtime.cpp:
199 (KJS::Bindings::Instance::Instance):
200 (KJS::Bindings::Instance::createRuntimeObject):
202 * bridge/runtime_object.cpp:
203 (RuntimeObjectImp::RuntimeObjectImp):
204 * bridge/runtime_object.h:
206 * page/mac/FrameMac.mm:
207 (WebCore::Frame::createScriptInstanceForWidget):
208 * page/win/FrameWin.cpp:
209 (WebCore::Frame::createScriptInstanceForWidget):
210 * plugins/PluginView.h:
211 * plugins/win/PluginViewWin.cpp:
212 (WebCore::PluginView::bindingInstance):
214 2008-03-12 Dan Bernstein <mitz@apple.com>
216 Suggested by Darin Adler. Reviewed by Dave Hyatt.
218 - speed up BidiIterator::direction()
220 * rendering/bidi.cpp:
221 (WebCore::BidiIterator::current): Made inline and corrected the
222 out-of-bounds condition to work with 0-length text and offsets beyond
224 (WebCore::BidiIterator::direction): Changed to call current() and not
225 call the virtual method isListMarker() most of the time.
226 (WebCore::addMidpoint): Removed unnecessary null-check of smidpoints.
227 (WebCore::appendRunsForObject): Ditto.
229 2008-03-12 Adam Roben <aroben@apple.com>
231 Make URLs not be underlined while editing them in the DOM view
235 * page/inspector/inspector.css:
237 2008-03-12 Adam Roben <aroben@apple.com>
239 Part of Bug 17224: DOM nodes/attributes should be editable
241 <http://bugs.webkit.org/show_bug.cgi?id=17224>
242 <rdar://problem/5732825>
244 We now start editing if the user single-clicks on an attribute,
245 attribute value, or text node while the parent element is selected.
246 Previously, we started editing on double-click regardless of the
247 selection state of the element.
249 URLs in the DOM tree are now followed on Alt/Option-click, rather than
254 * English.lproj/InspectorLocalizedStrings.js: Added four new localized
256 * page/inspector/DocumentPanel.js:
257 (WebInspector.DOMNodeTreeElement.onattach): Call new
258 _makeURLSActivateOnModifiedClick.
259 (WebInspector.DOMNodeTreeElement._makeURLsActivateOnModifiedClick):
260 Added. Changes the tooltip of each link in this element to indicate
261 that Alt/Option-click will follow the URL, and sets the
262 followOnAltClick property on each link.
263 (WebInspector.DOMNodeTreeElement.onselect): Mark that we're being
265 (WebInspector.DOMNodeTreeElement.onmousedown): If we're not currently
266 being selected, start editing.
267 (WebInspector.DOMNodeTreeElement.ondblclick): We no longer start
268 editing here. We block re-rooting of the tree if we're currently
270 (WebInspector.DOMNodeTreeElement._startEditing):
271 - Don't do anything if we're not focused
272 - Pass the event down to _startEditingAttribute.
273 (WebInspector.DOMNodeTreeElement._startEditingAttribute): Don't do
274 anything if the event target is a URL and the Alt/Option key is
275 pressed -- in this case we want to follow the link.
276 (WebInspector.DOMNodeTreeElement._updateTitle): Call
277 _makeURLsActivateOnClick again since the anchor elements have all been
279 * page/inspector/inspector.js:
280 (WebInspector.documentClick): If the anchor as a followOnAltClick
281 property and the Alt/Option key is not pressed, do nothing.
283 2008-03-12 Ada Chan <adachan@apple.com>
285 Fixed the initial value of zoom factor.
290 (WebCore::FramePrivate::FramePrivate):
292 2008-03-12 David Hyatt <hyatt@apple.com>
294 Make full page zoom vaguely work. This patch uses the CSS transform system to turn on full page zoom at the
295 document level. There are many many bugs that I'm going to file to track all the issues (most of the issues
296 are just bugs with transforms themselves).
298 Reviewed by Adam Roben
300 * css/CSSStyleSelector.cpp:
301 (WebCore::CSSStyleSelector::applyProperty):
302 (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
304 (WebCore::Document::recalcStyle):
306 (WebCore::Frame::shouldApplyTextZoom):
307 (WebCore::Frame::shouldApplyPageZoom):
309 * rendering/RenderLayer.cpp:
310 (WebCore::RenderLayer::updateLayerPositions):
311 (WebCore::RenderLayer::setHasVisibleContent):
312 (WebCore::RenderLayer::paintLayer):
313 (WebCore::RenderLayer::hitTestLayer):
314 * rendering/RenderLayer.h:
316 2008-03-12 David Hyatt <hyatt@apple.com>
318 Make the zoom factor a float and not a percent.
323 * css/CSSStyleSelector.cpp:
324 (WebCore::CSSStyleSelector::applyProperty):
325 (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
327 (WebCore::Frame::zoomFactor):
328 (WebCore::Frame::setZoomFactor):
330 * page/FramePrivate.h:
331 * svg/SVGSVGElement.cpp:
332 (WebCore::SVGSVGElement::currentScale):
333 (WebCore::SVGSVGElement::setCurrentScale):
335 2008-03-12 David Hyatt <hyatt@apple.com>
337 Eliminate setTextMultiplier from the bridge. Make Webkit just call setZoomFactor on the frame directly.
342 * page/mac/WebCoreFrameBridge.h:
343 * page/mac/WebCoreFrameBridge.mm:
345 2008-03-12 Dan Bernstein <mitz@apple.com>
347 Reviewed by Darin Adler and Sam Weinig.
349 - <rdar://problem/4433248> use CoreText API instead of SPI on Leopard
351 Use CTFontCopyGraphicsFont and CTFontGetPlatformFont on Leopard instead
352 of wkGetCGFontFromNSFont and wkGetNSFontATSUFontId, relying on NSFont
353 and CTFontRef being toll-free bridged.
357 * platform/graphics/mac/FontMac.mm:
358 (WebCore::Font::drawGlyphs): Changed to use the cgFont() accessor.
359 * platform/graphics/mac/FontPlatformData.h:
360 Made m_cgFont a RetainPtr on Leopard.
361 (WebCore::toCTFontRef): Added a function that encapsulates the
363 (WebCore::FontPlatformData::FontPlatformData):
364 (WebCore::FontPlatformData::cgFont): Added this accessor method.
365 * platform/graphics/mac/FontPlatformDataMac.mm:
366 (WebCore::FontPlatformData::FontPlatformData): Changed to use
367 CoreText API on Leopard.
368 (WebCore::FontPlatformData::setFont): Ditto.
369 * platform/graphics/mac/SimpleFontDataMac.mm:
370 (WebCore::initFontData):
371 (WebCore::pathFromFont):
372 (WebCore::SimpleFontData::platformInit):
373 (WebCore::SimpleFontData::platformWidthForGlyph):
374 * platform/mac/WebCoreSystemInterface.mm:
376 2008-03-12 David Harrison <harrison@apple.com>
380 <rdar://problem/5607382> CrashTracer: [REGRESSION] 2290 crashes in Safari at com.apple.WebCore: -[WebCoreAXObject isWebArea] + 8
382 The problem was that we lost track of the AX cache for a subframe when Frame::disconnectOwnerElement() was
383 called, so we were unable to locate the AXObjects to de-register from AppKit's accessibility registry.
384 Also saw that cache clearing was missing from Document::detach(), and fixed that.
386 Also added a debug-only check that AXObjectCache::remove() not finding the AXObject is expected.
388 Lastly, RenderWidget::destroy() now skips trying to remove the AXObject if accessibility has never been enabled.
391 (WebCore::Document::attach):
392 Assert that there is no AX cache (since there is no renderer).
394 (WebCore::Document::detach):
395 Destroy the AX cache installed on this document.
397 (WebCore::Document::clearAXObjectCache):
398 New. Destroy the AX cache associated with this document.
400 (WebCore::Document::axObjectCache):
404 Declare clearAXObjectCache().
407 (WebCore::Frame::disconnectOwnerElement):
408 Destroy the AX cache associated with this frame's document.
410 * page/mac/AXObjectCacheMac.mm:
411 (WebCore::AXObjectCache::remove):
412 * page/mac/WebCoreAXObject.mm:
413 (-[WebCoreAXObject initWithRenderer:]):
414 (-[WebCoreAXObject detach]):
415 * rendering/RenderObject.cpp:
416 (WebCore::RenderObject::RenderObject):
417 (WebCore::RenderObject::~RenderObject):
418 * rendering/RenderObject.h:
419 (WebCore::RenderObject::setHasAXObject):
420 (WebCore::RenderObject::hasAXObject):
421 Add debug-only check that AXObjectCache::remove() not finding the AXObject is expected.
423 * rendering/RenderWidget.cpp:
424 (WebCore::RenderWidget::destroy):
425 Skip call to remove the AXObject if accessibility has never been enabled. A simple speed optimization in the
426 very common case that the accessibility APIs are not being used. Same as in RenderObject::destroy().
428 2008-03-12 Xan Lopez <xan@gnome.org>
430 Reviewed by Alp Toker.
432 http://bugs.webkit.org/show_bug.cgi?id=15229
434 Add Pango font backend.
436 Original patch by Sven Herzberg <sven@imendio.com>
439 * platform/graphics/gtk/FontCacheGtk.cpp:
440 (WebCore::FontCache::fontExists):
441 * platform/graphics/gtk/FontCustomPlatformDataPango.cpp: Added.
442 (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
443 (WebCore::FontCustomPlatformData::fontPlatformData):
444 (WebCore::releaseData):
445 (WebCore::createFontCustomPlatformData):
446 * platform/graphics/gtk/FontPlatformData.h:
447 (WebCore::FontPlatformData::FontPlatformData):
448 (WebCore::FontPlatformData::hash):
449 * platform/graphics/gtk/FontPlatformDataPango.cpp: Added.
450 (WebCore::FontPlatformData::FontPlatformData):
451 (WebCore::FontPlatformData::init):
452 (WebCore::FontPlatformData::~FontPlatformData):
453 (WebCore::FontPlatformData::isFixedPitch):
454 (WebCore::FontPlatformData::setFont):
455 (WebCore::FontPlatformData::operator==):
456 * platform/graphics/gtk/GlyphPageTreeNodePango.cpp: Added.
457 (WebCore::pango_font_get_glyph):
458 (WebCore::GlyphPage::fill):
459 * platform/graphics/gtk/SimpleFontDataPango.cpp: Added.
460 (WebCore::SimpleFontData::platformInit):
461 (WebCore::SimpleFontData::platformDestroy):
462 (WebCore::SimpleFontData::smallCapsFontData):
463 (WebCore::SimpleFontData::containsCharacters):
464 (WebCore::SimpleFontData::determinePitch):
465 (WebCore::SimpleFontData::platformWidthForGlyph):
466 (WebCore::SimpleFontData::setFont):
468 2008-03-12 Justin Garcia <justin.garcia@apple.com>
472 <rdar://problem/5770834> Crash at InsertTextCommand::prepareForTextInsertion() doing RemoveFormat in a certain list
474 Fixes some (but not all) of the instances of:
475 <rdar://problem/5659795> CrashTracer: [REGRESSION] 187 crashes in Safari at com.apple.WebCore: WebCore::InsertTextCommand::prepareForTextInsertion + 241
476 <rdar://problem/5779631> CrashTracer: [USER] 25 crashes in Mail at WebCore::InsertTextCommand::prepareForTextInsertion
478 * editing/InsertLineBreakCommand.cpp:
479 (WebCore::InsertLineBreakCommand::doApply): applyStyle may have destroyed content that held
480 the old endingSelection(), so we must recompute it. Added a FIXME. Added a few comments.
481 * editing/RemoveFormatCommand.cpp:
482 (WebCore::RemoveFormatCommand::doApply): Added a FIXME.
484 2008-03-11 Alexey Proskuryakov <ap@webkit.org>
488 <rdar://problem/5640615> REGRESSION (Safari 2-3): Changing subframe encoding rules broke
491 Other browsers' behavior keeps changing; let's implement what Firefox and Opera do now:
492 if the frame and subframe belong to the same site, then the encoding is inherited from parent
493 frame to subframe. Otherwise, it is not.
495 Always inheriting the encoding would cause a security problem.
497 Tests: http/tests/misc/frame-default-enc-different-domain.html
498 http/tests/misc/frame-default-enc-same-domain.html
499 fast/encoding/frame-default-enc.html
501 * loader/FrameLoader.cpp:
502 (WebCore::FrameLoader::write): Also removed a check for m_frame->document() being non-null -
503 this function also has code that uses it without checking, so it must be safe.
505 2008-03-12 Mark Rowe <mrowe@apple.com>
509 * page/Frame.h: Forward-declare FramePrivate.
511 2008-03-11 Steve Falkenburg <sfalken@apple.com>
513 Disable LTCG/PGO for all of WebCore for now.
514 We'll re-enable this as part of follow-on PGO work.
518 * WebCore.vcproj/WebCore.vcproj:
520 2008-03-11 Darin Adler <darin@apple.com>
524 - remove all bridge-related things from WebCore except the bridge itself
526 * WebCore.base.exp: Removed the bridge and setBridge functions.
528 * loader/FrameLoader.cpp:
529 (WebCore::FrameLoader::detachFromParent): Removed call to the bridge's
533 (WebCore::Frame::~Frame): Removed call to setBridge(0).
534 (WebCore::FramePrivate::FramePrivate): Removed initialization of m_bridge.
535 * page/Frame.h: Removed setBridge and bridge functions.
536 * page/FramePrivate.h: Removed m_bridge pointer.
537 * page/mac/FrameMac.mm: Removed setBridge and bridge functions.
539 * page/mac/WebCoreFrameBridge.h: Added setWebCoreFrame: method.
540 Removed bridgeForDOMDocument: and clearFrame methods.
541 * page/mac/WebCoreFrameBridge.mm: Ditto.
542 (-[WebCoreFrameBridge close]): Changed to set m_frame to 0 directly.
543 (-[WebCoreFrameBridge setWebCoreFrame:]): Added.
545 2008-03-11 Darin Adler <darin@apple.com>
547 - restored some code I removed in the Range change; this code can't go
548 until the rest of the Range fix is in
551 (WebCore::Range::commonAncestorContainer): Added back the check for 0
552 that I removed erroneously in the Range patch.
553 (WebCore::Range::processContents): Left in assertions I used to debug
556 2008-03-11 Darin Adler <darin@apple.com>
560 * platform/mac/ScrollViewMac.mm:
561 (WebCore::ScrollView::setContentsPos): Don't use NSMakePoint.
563 2008-03-11 Darin Adler <darin@apple.com>
567 - simplify Mac code for ScrollView, since it's used only for FrameView
568 and not in two different modes like it was historically
569 - remove code depending on the bridge to get from an NSView to a WebCore::Frame
571 * bindings/objc/DOMHTML.mm:
572 (-[DOMHTMLInputElement _rectOnScreen]): getDocumentView -> documentView.
574 * bridge/jni/jni_jsobject.cpp:
575 (createRootObject): Instead of using WebCoreViewFactory to find the frame given
576 and NSView, use the WebCoreFrameView interface to do it.
578 * editing/mac/EditorMac.mm:
579 (WebCore::Editor::paste): getDocumentView -> documentView.
580 * editing/mac/SelectionControllerMac.mm:
581 (WebCore::SelectionController::notifyAccessibilityForSelectionChange): Ditto.
583 * page/FrameView.h: Fixed comment.
585 * page/InspectorController.cpp:
586 (WebCore::InspectorController::drawNodeHighlight): Removed uneeded typecasts
587 to ScrollView* since FrameView is derived from ScrollView.
589 * page/mac/EventHandlerMac.mm:
590 (WebCore::EventHandler::focusDocumentView): getDocumentView -> documentView.
591 * page/mac/FrameMac.mm:
592 (WebCore::Frame::imageFromRect): Ditto.
593 * page/mac/WebCoreAXObject.mm:
594 (-[WebCoreAXObject position]): Ditto.
595 (-[WebCoreAXObject doAXTextMarkerForPosition:]): Ditto.
596 (-[WebCoreAXObject rendererForView:]): Updated code that used to use
597 WebCoreBridgeHolder to use WebCoreFrameView instead.
599 * page/mac/WebCoreFrameBridge.mm:
600 (-[WebCoreFrameBridge computePageRectsWithPrintWidthScaleFactor:printHeight:]):
601 getDocumentView -> documentView.
603 * page/mac/WebCoreFrameView.h: Removed the WebCoreScrollbarMode type; we just
604 use WebCore::ScrollbarMode directly. Renamed the WebCoreFrameView protocol to
605 WebCoreFrameScrollView, since it's a protocol for the scroll view, not the
606 frame view itself. Replaced WebCoreBridgeHolder protocol with WebCoreFrameView
607 protocol, which returns a WebCore::Frame directly rather than a bridge.
609 * page/mac/WebCoreViewFactory.h: Eliminated the bridgeForView method.
611 * platform/ScrollView.h: Moved the constructor and destructor out of the
612 class-specific #if blocks. Renamed Mac-specific function that gets the
613 NSView for from getDocumentView to documentView and a scrollView function
614 that returns an appropriately classed NSScrollView.
616 * platform/graphics/MediaPlayer.h: Changed type of parentWidget to FrameView
618 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
619 (WebCore::MediaPlayerPrivate::createQTMovieView): Removed unnecessary cast.
621 * platform/mac/PopupMenuMac.mm:
622 (WebCore::PopupMenu::show): getDocumentView -> documentView.
623 * platform/mac/ScrollViewMac.mm:
624 (WebCore::ScrollView::ScrollView): Added.
625 (WebCore::ScrollView::~ScrollView): Added.
626 (WebCore::ScrollView::scrollView): Added.
627 (WebCore::ScrollView::visibleWidth): Removed unused non-NSScrollView case.
628 (WebCore::ScrollView::visibleHeight): Ditto.
629 (WebCore::ScrollView::visibleContentRect): Ditto.
630 (WebCore::ScrollView::visibleContentRectConsideringExternalScrollers): Ditto.
631 (WebCore::ScrollView::contentsWidth): Ditto.
632 (WebCore::ScrollView::contentsHeight): Ditto.
633 (WebCore::ScrollView::contentsX): Ditto.
634 (WebCore::ScrollView::contentsY): Ditto.
635 (WebCore::ScrollView::scrollOffset): Ditto.
636 (WebCore::ScrollView::scrollRectIntoViewRecursively): Ditto.
637 (WebCore::ScrollView::setContentsPos): Ditto.
638 (WebCore::ScrollView::setVScrollbarMode): Ditto.
639 (WebCore::ScrollView::setHScrollbarMode): Ditto.
640 (WebCore::ScrollView::setScrollbarsMode): Ditto.
641 (WebCore::ScrollView::vScrollbarMode): Ditto.
642 (WebCore::ScrollView::hScrollbarMode): Ditto.
643 (WebCore::ScrollView::suppressScrollbars): Ditto.
644 (WebCore::ScrollView::addChild): Ditto.
645 (WebCore::ScrollView::resizeContents): Ditto.
646 (WebCore::ScrollView::updateContents): Ditto.
647 (WebCore::ScrollView::contentsToWindow): Ditto.
648 (WebCore::ScrollView::windowToContents): Ditto.
649 (WebCore::ScrollView::setStaticBackground): Ditto.
650 (WebCore::ScrollView::documentView): Renamed and removed unused case.
651 (WebCore::ScrollView::scrollbarUnderMouse): Removed incorrect comment.
653 * platform/mac/WidgetMac.mm:
654 (WebCore::Widget::getOuterView): Update for protocol name change.
656 * rendering/RenderThemeMac.mm:
657 (WebCore::RenderThemeMac::paintCheckbox): getDocumentView -> documentView.
658 (WebCore::RenderThemeMac::paintRadio): Ditto.
659 (WebCore::RenderThemeMac::paintButton): Ditto.
660 (WebCore::RenderThemeMac::paintMenuList): Ditto.
661 (WebCore::RenderThemeMac::paintSliderThumb): Ditto.
662 (WebCore::RenderThemeMac::paintSearchField): Ditto.
663 (WebCore::RenderThemeMac::paintSearchFieldCancelButton): Ditto.
664 (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration): Ditto.
665 (WebCore::RenderThemeMac::paintSearchFieldResultsButton): Ditto.
667 2008-03-11 Brent Fulgham <bfulgham@gmail.com>
669 Reviewed by Adam Roben.
671 Split CookieJarWin.cpp into CFNet and non-CFNet versions to
672 reduce the massive amount of conditionalization in the file.
673 (see http://bugs.webkit.org/show_bug.cgi?id=17788)
675 * WebCore.vcproj/WebCore.vcproj:
676 * platform/network/win/CookieJarCFNetWin.cpp: Copied from WebCore/platform/network/win/CookieJarWin.cpp.
677 (WebCore::setCookies):
679 (WebCore::cookiesEnabled):
680 * platform/network/win/CookieJarWin.cpp:
681 (WebCore::setCookies):
683 (WebCore::cookiesEnabled):
685 2008-03-11 Darin Adler <darin@apple.com>
689 - eliminate the remaining parts of WebCoreBridge used for calls to WebKit from WebCore
691 * page/ChromeClient.h: Added new client functions to replace calls up to WebKit
692 that were formerly handled by the bridge.
694 * page/Frame.h: Removed unneeded declarations. Moved declarations of script-specific
695 functions to a ScriptController section. Removed willPopupMenu.
697 * page/mac/ChromeMac.mm:
698 (WebCore::Chrome::focusNSView): Changed to call firstResponder and makeFirstResponder
699 via the client instead of the bridge.
701 * page/mac/EventHandlerMac.mm:
702 (WebCore::EventHandler::passMouseDownEventToWidget): Changed to call firstResponder
703 and makeFirstResponder via the chrome client instead of the bridge.
705 * page/mac/FrameMac.mm: Removed willPopupMenu.
707 * page/mac/WebCoreFrameBridge.h: Removed WebCoreFrameBridge protocol and
708 SubclassResponsibility category. Also removed some unneeded imports.
710 * platform/mac/PopupMenuMac.mm:
711 (WebCore::PopupMenu::show): Call willPopUpMenu on chrome client instead of frame.
713 * platform/mac/WidgetMac.mm:
714 (WebCore::Widget::setIsSelected): Call functions directly on the view rather than
715 calling via the bridge.
717 2008-03-11 Darin Adler <darin@apple.com>
721 - make some Range improvements (preparation for Range support for DOM mutation)
723 Made constructors private, added create functions.
724 Made refcount start at 1 rather than starting at 0 and being incremented.
725 Made Range use two Position objects for the start/end container/offset pairs.
727 * WebCore.base.exp: Updated.
730 (WebCore::Document::createRange): Changed to use Range::create.
731 (WebCore::Document::removeMarkers): Updated for Range::first/pastLastNode name change.
734 (WebCore::Position::formatForDebugger): Updated for member variable name change.
735 (WebCore::Position::showTreeForThis): Ditto.
736 (WebCore::startPosition): Changed to use Range::startPosition.
737 (WebCore::endPosition): Changed to use Range::endPosition.
739 * dom/Position.h: Made the data members public and renamed them to container
740 and offset. But since offset() is already a function, temporarily used posOffset
741 for the data member. Later we'll get rid of offset(). Made more functions inline.
742 Removed the constructor that takes a PositionIterator.
744 * dom/PositionIterator.cpp:
745 (WebCore::PositionIterator::operator Position): Added. Replaces the constructor
746 that used to be in Position.
747 * dom/PositionIterator.h: Added conversion operator to produce a Position.
748 Removed friend declaration for Position.
751 (WebCore::Range::Range): Updated constructors for data member changes and made
752 them use a refcount of 1.
753 (WebCore::Range::create): Added.
754 (WebCore::Range::startContainer): Updated to eliminate use of m_detached; detached
755 is now indicated by m_start.container of 0. Also updated to use m_start instead
756 of the old m_startContainer.
757 (WebCore::Range::startOffset): Ditto.
758 (WebCore::Range::endContainer): Ditto.
759 (WebCore::Range::endOffset): Ditto.
760 (WebCore::Range::commonAncestorContainer): Ditto.
761 (WebCore::Range::collapsed): Ditto.
762 (WebCore::Range::setStart): Ditto.
763 (WebCore::Range::setEnd): Ditto.
764 (WebCore::Range::collapse): Ditto.
765 (WebCore::Range::isPointInRange): Ditto.
766 (WebCore::Range::comparePoint): Ditto.
767 (WebCore::Range::compareNode): Ditto.
768 (WebCore::Range::compareBoundaryPoints): Ditto.
769 (WebCore::Range::boundaryPointsValid): Ditto.
770 (WebCore::Range::deleteContents): Ditto.
771 (WebCore::Range::intersectsNode): Ditto.
772 (WebCore::Range::processContents): Ditto.
773 (WebCore::Range::extractContents): Ditto.
774 (WebCore::Range::cloneContents): Ditto.
775 (WebCore::Range::insertNode): Ditto.
776 (WebCore::Range::toString): Ditto.
777 (WebCore::Range::text): Ditto.
778 (WebCore::Range::createContextualFragment): Ditto.
779 (WebCore::Range::detach): Ditto.
780 (WebCore::Range::checkNodeBA): Changed to use switch statements instead of
781 multiple calls to the virtual nodeType() function.
782 (WebCore::Range::cloneRange): Ditto.
783 (WebCore::Range::setStartAfter): Ditto.
784 (WebCore::Range::setEndBefore): Ditto.
785 (WebCore::Range::setEndAfter): Ditto.
786 (WebCore::Range::selectNode): Ditto.
787 (WebCore::Range::selectNodeContents): Ditto.
788 (WebCore::Range::surroundContents): Ditto.
789 (WebCore::Range::setStartBefore): Ditto.
790 (WebCore::Range::checkDeleteExtract): Ditto.
791 (WebCore::Range::containedByReadOnly): Ditto.
792 (WebCore::Range::firstNode): Ditto.
793 (WebCore::Range::editingStartPosition): Ditto.
794 (WebCore::Range::pastLastNode): Ditto.
795 (WebCore::Range::addLineBoxRects): Ditto.
796 (WebCore::Range::formatForDebugger): Ditto.
797 (WebCore::operator==): Ditto.
798 (WebCore::rangeOfContents): Ditto.
799 (WebCore::Range::maxStartOffset): Ditto.
800 (WebCore::Range::maxEndOffset): Ditto.
802 * dom/Range.h: Made constructors private. Added create functions.
803 Added getters for startContainer/Offset and endContainer/Offset that
804 return 0 instead of an exception for detached ranges that are inline
805 and don't require an ExceptionCode out parameter. Changed the parameters
806 to setStart and setEnd to PassRefPtr. Removed isDetached function.
807 Made ActionType and processContents private. Made startPosition and
808 endPosition inlines and have then return const&. Renamed startNode and
809 pastEndNode to firstNode and pastLastNode to reduce the chance of
810 confusion with startContainer/endContainer. Used Position for m_start
811 and m_end instead of separate container and offset members. Changed
812 maxStartOffset and maxEndOffset into int to match other offsets.
814 * editing/ApplyStyleCommand.cpp:
815 (WebCore::ApplyStyleCommand::applyBlockStyle): Changed to use Range::create.
816 (WebCore::ApplyStyleCommand::applyInlineStyle): Ditto.
817 * editing/CompositeEditCommand.cpp:
818 (WebCore::CompositeEditCommand::inputText): Ditto.
819 (WebCore::CompositeEditCommand::moveParagraphs): Ditto.
820 * editing/DeleteSelectionCommand.cpp:
821 (WebCore::DeleteSelectionCommand::mergeParagraphs): Ditto.
822 * editing/Editor.cpp:
823 (WebCore::Editor::fontForSelection): Changed for pastLastNode name change.
824 (WebCore::Editor::setComposition): Changed to use Range::create.
825 (WebCore::paragraphAlignedRangeForRange): Ditto.
826 (WebCore::markMisspellingsOrBadGrammar): Changed to get rid of check for
827 isDetached and check for 0 from startContainer instead.
828 (WebCore::Editor::compositionRange): Changed to use Range::create.
829 * editing/EditorCommand.cpp:
830 (WebCore::unionDOMRanges): Ditto.
831 * editing/Selection.cpp:
832 (WebCore::Selection::toRange): Ditto.
833 * editing/TextIterator.cpp:
834 (WebCore::TextIterator::TextIterator): Changed for firstNode and pastLastNode
836 (WebCore::TextIterator::range): Changed to use Range::create.
837 (WebCore::SimplifiedBackwardsTextIterator::range): Ditto.
838 (WebCore::TextIterator::subrange): Ditto.
839 * editing/VisiblePosition.cpp:
840 (WebCore::makeRange): Ditto.
841 * editing/VisiblePosition.h: Added now-needed include.
842 * editing/htmlediting.cpp:
843 (WebCore::indexForVisiblePosition): Changed to use Range::create.
844 (WebCore::avoidIntersectionWithNode): Changed to get rid of check for
845 isDetached and check for 0 instead and to use Range::create.
846 * editing/markup.cpp:
847 (WebCore::renderedText): Changed to use Range::create.
848 (WebCore::createMarkup): Changed to no longer use isDetached and also
849 for new firstNode/pastEndNode names.
850 (WebCore::createFragmentFromText): Ditto.
851 * editing/visible_units.cpp:
852 (WebCore::previousBoundary): Changed to use Range::create.
853 * page/mac/WebCoreFrameBridge.mm:
854 (-[WebCoreFrameBridge convertToNSRange:]): Changed to no longer use
856 * rendering/RenderTextControl.cpp:
857 (WebCore::RenderTextControl::visiblePositionForIndex): Changed to use Range::create.
858 (WebCore::RenderTextControl::indexForVisiblePosition): Ditto.
860 2008-03-11 Daniel Zucker <zucker@wake3.com>
862 Reviewed by Adam Roben.
864 There are a handful of placed where the use of CFNetwork-specific
865 calls are protected by PLATFORM(CF). Revise to use the more specific
866 USE(CFNETWORK) macro. (See http://bugs.webkit.org/show_bug.cgi?id=17783)
868 * platform/network/ProtectionSpace.cpp: Change PLATFORM(CF) to USE(CFNETWORK)
869 * platform/network/ResourceHandle.cpp: Change PLATFORM(CF) to USE(CFNETWORK)
870 * platform/network/win/CookieJarWin.cpp: Correct error in
871 InternetGetCookie call. Conditionalize 'cookiesEnabled' the same
872 as all other implementations in this file.
874 2008-03-11 Xan Lopez <xan@gnome.org>
876 Reviewed by Alp Toker.
878 http://bugs.webkit.org/show_bug.cgi?id=16476
880 Add libsoup HTTP backend.
883 * platform/network/ResourceHandleInternal.h:
884 (WebCore::ResourceHandleInternal::ResourceHandleInternal):
885 * platform/network/soup/AuthenticationChallenge.h: Added.
886 (WebCore::AuthenticationChallenge::AuthenticationChallenge):
887 * platform/network/soup/ResourceError.h: Added.
888 (WebCore::ResourceError::ResourceError):
889 * platform/network/soup/ResourceHandleSoup.cpp: Added.
890 (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
891 (WebCore::ResourceHandle::~ResourceHandle):
892 (WebCore::dataCallback):
893 (WebCore::parseDataUrl):
894 (WebCore::ResourceHandle::start):
895 (WebCore::ResourceHandle::cancel):
896 (WebCore::ResourceHandle::bufferedData):
897 (WebCore::ResourceHandle::supportsBufferedData):
898 (WebCore::ResourceHandle::setDefersLoading):
899 (WebCore::ResourceHandle::loadsBlocked):
900 (WebCore::ResourceHandle::willLoadFromCache):
901 * platform/network/soup/ResourceRequest.h: Copied from WebCore/platform/network/curl/ResourceRequest.h.
902 (WebCore::ResourceRequest::ResourceRequest):
903 (WebCore::ResourceRequest::doUpdatePlatformRequest):
904 * platform/network/soup/ResourceResponse.h: Added.
905 (WebCore::ResourceResponse::ResourceResponse):
906 (WebCore::ResourceResponse::setResponseFired):
907 (WebCore::ResourceResponse::responseFired):
908 (WebCore::ResourceResponse::doUpdateResourceResponse):
910 2008-03-11 Rodney Dawes <dobey@wayofthemonkey.com>
914 * plugins/qt/PluginDataQt.cpp:
915 (PluginData::initPlugins)
917 2008-03-11 Adam Roben <aroben@apple.com>
919 Make attribute quoting in DOM view more consistent with source view
921 Two changes which make the DOM view more consistent with source view:
922 1) We now quote all attribute values, including URLs
923 2) The quotes around the values are now purple, matching the left and
924 right angle brackets that surround the tag
926 One bug fixed by these changes:
927 1) The entire URL is selected for editing when you double-click a URL
928 that is an attribute value. Previously, the first and last
929 characters were not included in the selection.
933 * page/inspector/DocumentPanel.js:
934 (WebInspector.DOMNodeTreeElement._startEditingAttribute): Don't need
935 to account for the quotes around attribute values anymore because the
936 quotes are now outside the webkit-html-attribute-value span.
937 * page/inspector/utilities.js:
938 (nodeTitleInfo): Quote all attribute values, including URLs, and place
939 the quotes outside the webkit-html-attribute-value span.
941 2008-03-11 Adam Roben <aroben@apple.com>
943 Stop including pthread.h in WebCore on Windows
947 * WebCore.vcproj/WebCore.vcproj:
948 - Changed the include path to not contain pthreads/
949 - Let VS remove a duplicate FileConfiguration element
950 - Let VS have its way with the file ordering
951 * WebCorePrefix.h: Made the #include of pthread.h be compiled out on
953 * loader/FTPDirectoryDocument.cpp: Added a Windows-specific #define of
954 localtime_r (pthread.h was providing a macro that substituted plain
955 old localtime before, but localtime_s is "more secure", so I went with
957 * loader/FTPDirectoryParser.cpp: Ditto for gmtime_r.
959 2008-03-11 Adam Roben <aroben@apple.com>
961 Roll out r30961 since it broke the default site icon on Windows
963 * loader/icon/IconDatabase.cpp:
964 (WebCore::IconDatabase::defaultIcon):
966 2008-03-11 Dan Bernstein <mitz@apple.com>
968 Reviewed by Darin Adler.
970 - clean up line layout code
972 * platform/graphics/GraphicsContext.cpp:
973 (WebCore::TextRunIterator::increment): Removed the resolver parameter.
974 (WebCore::GraphicsContext::drawBidiText): Adjusted for changes to
975 createBidiRunsForLine(), which no longer takes a start parameter.
976 * platform/text/BidiResolver.h:
977 (WebCore::BidiResolver::): Made Noncopyable and removed the
978 m_adjustEmbedding member variable.
979 (WebCore::BidiResolver::position): Added. Returns the resolver's current
981 (WebCore::BidiResolver::setPosition): Added. Sets the resolver's current
982 position without changing any other state.
983 (WebCore::BidiResolver::increment): Added. Advances the resolver to the
984 next position, allowing the iterator to push and pop embedding.
985 (WebCore::BidiResolver::appendRun): Removed the resolver parameter in
986 the call to increment().
987 (WebCore::BidiResolver::embed): Removed code to save, set and restore
989 (WebCore::BidiResolver::createBidiRunsForLine): Changed to not take a
990 'start' iterator. Instead, start at the current position. Removed code
991 to set m_adjustEmbedding. Changed for noncopyability.
992 * rendering/RenderBlock.h:
993 * rendering/bidi.cpp:
994 (WebCore::bidiNext): Made the resolver parameter optional. Changed to
995 null-check the 'end of inline' pointer only twice.
996 (WebCore::bidiFirst): Made the resolver parameter optional.
997 (WebCore::BidiIterator::increment): Ditto.
998 (WebCore::BidiState::increment): Added. Overrides the default
999 BidiResolver::increment() method by passing the resolver to
1000 BidiIterator::increment().
1001 (WebCore::checkMidpoints): Removed the resolver parameter.
1002 (WebCore::BidiState::appendRun): Removed code to save, set and restore
1003 m_adjustEmbedding. Adjusted for change to increment().
1004 (WebCore::RenderBlock::bidiReorderLine): Removed the 'start' parameter
1005 and unreachable code.
1006 (WebCore::buildCompactRuns): Adjusted for changes to BidiResolver/
1007 (WebCore::RenderBlock::layoutInlineChildren): Moved code to initialize
1008 the resolver from this method to determineStartPosition(). Unified the
1009 resolver with the 'start' iterator. Removed unreachable code. Moved one
1010 statement from the beginning of the while loop to the end.
1011 (WebCore::RenderBlock::determineStartPosition): Moved code to initialize
1012 the resolver from layoutInlineChildren() into this method.
1013 (WebCore::RenderBlock::matchedEndLine): Adjusted for the resolver and
1014 the 'start' iterator being one object.
1015 (WebCore::skipNonBreakingSpace): Made the parameter const.
1016 (WebCore::requiresLineBox): Ditto.
1017 (WebCore::RenderBlock::generatesLineBoxesForInlineChild): Adjusted for
1018 the change to BidiIterator::increment().
1019 (WebCore::RenderBlock::skipWhitespace): Made two versions of this
1020 method, one for BidiIterator and one for BidiState.
1021 (WebCore::shouldSkipWhitespaceAfterStartObject): Removed the resolver
1023 (WebCore::RenderBlock::findNextLineBreak): Removed the resolver
1024 parameter. Removed calls to setAdjustEmbedding(). Removed the 'previous'
1025 variable and changed the 'last' variable to do its job.
1028 2008-03-10 Adam Roben <aroben@apple.com>
1030 Part of Bug 17224: DOM nodes/attributes should be editable
1032 <http://bugs.webkit.org/show_bug.cgi?id=17224>
1033 <rdar://problem/5732825>
1035 This patch makes text nodes editable via double-click.
1039 * page/inspector/DocumentPanel.js:
1040 (WebInspector.DOMNodeTreeElement._startEditing):
1041 - Moved most of this code to _startEditingAttribute
1042 - Calls _startEditingTextNode or _startEditingAttribute as
1044 (WebInspector.DOMNodeTreeElement._startEditingAttribute): Added. Code
1045 came from _startEditing.
1046 (WebInspector.DOMNodeTreeElement._startEditingTextNode): Added.
1047 (WebInspector.DOMNodeTreeElement._textNodeEditingCommitted): Added.
1048 (WebInspector.DOMNodeTreeElement._editingCancelled): Renamed from
1049 _attributeEditingCancelled.
1050 * page/inspector/utilities.js:
1051 (nodeTitleInfo): Wrap text nodes in a webkit-html-text-node span so
1052 that we can easily recognize/edit them.
1054 2008-03-11 Holger Hans Peter Freyther <zecke@selfish.org>
1058 r25512 inlined the urlIcon to improve the startup time of Safari on Mac. Inlining is
1059 not suitable for platforms where this icon is themable. E.g. the Qt platform is allowing
1060 to theme this icon and the Gtk+ platform will probably end up with themable icons
1063 Remove dead code from the windows port and move the urlIcon from the windows
1064 directory to the Resource directory to be used by Qt and other ports.
1066 Ifdef the usage of the built-in icon in IconDatabase.cpp and for Qt do not use
1067 it. Gtk+ currently has no proper implementation of Image::loadPlatformResource but
1068 once it does it wants to use this for getting the urlIcon as well.
1070 * Resources/urlIcon.png: Renamed from WebKit/win/WebKit.vcproj/urlIcon.png.
1071 * loader/icon/IconDatabase.cpp:
1072 (WebCore::IconDatabase::defaultIcon):
1074 2008-03-11 Tor Arne Vestbø <tavestbo@trolltech.com>
1078 Implemented HTML media element support for QtWebKit, using Phonon.
1080 http://bugs.webkit.org/show_bug.cgi?id=17766
1083 * platform/graphics/MediaPlayer.cpp:
1084 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: Added.
1086 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
1087 (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
1088 (WebCore::MediaPlayerPrivate::getSupportedTypes):
1089 (WebCore::MediaPlayerPrivate::hasVideo):
1090 (WebCore::MediaPlayerPrivate::load):
1091 (WebCore::MediaPlayerPrivate::cancelLoad):
1092 (WebCore::MediaPlayerPrivate::play):
1093 (WebCore::MediaPlayerPrivate::pause):
1094 (WebCore::MediaPlayerPrivate::paused):
1095 (WebCore::MediaPlayerPrivate::seek):
1096 (WebCore::MediaPlayerPrivate::seeking):
1097 (WebCore::MediaPlayerPrivate::duration):
1098 (WebCore::MediaPlayerPrivate::currentTime):
1099 (WebCore::MediaPlayerPrivate::setEndTime):
1100 (WebCore::MediaPlayerPrivate::maxTimeBuffered):
1101 (WebCore::MediaPlayerPrivate::maxTimeSeekable):
1102 (WebCore::MediaPlayerPrivate::bytesLoaded):
1103 (WebCore::MediaPlayerPrivate::totalBytesKnown):
1104 (WebCore::MediaPlayerPrivate::totalBytes):
1105 (WebCore::MediaPlayerPrivate::setRate):
1106 (WebCore::MediaPlayerPrivate::setVolume):
1107 (WebCore::MediaPlayerPrivate::setMuted):
1108 (WebCore::MediaPlayerPrivate::dataRate):
1109 (WebCore::MediaPlayerPrivate::networkState):
1110 (WebCore::MediaPlayerPrivate::readyState):
1111 (WebCore::MediaPlayerPrivate::updateStates):
1112 (WebCore::MediaPlayerPrivate::setVisible):
1113 (WebCore::MediaPlayerPrivate::setRect):
1114 (WebCore::MediaPlayerPrivate::loadStateChanged):
1115 (WebCore::MediaPlayerPrivate::rateChanged):
1116 (WebCore::MediaPlayerPrivate::sizeChanged):
1117 (WebCore::MediaPlayerPrivate::timeChanged):
1118 (WebCore::MediaPlayerPrivate::volumeChanged):
1119 (WebCore::MediaPlayerPrivate::didEnd):
1120 (WebCore::MediaPlayerPrivate::loadingFailed):
1121 (WebCore::MediaPlayerPrivate::naturalSize):
1122 (WebCore::MediaPlayerPrivate::eventFilter):
1123 (WebCore::MediaPlayerPrivate::repaint):
1124 (WebCore::MediaPlayerPrivate::paint):
1125 (WebCore::MediaPlayerPrivate::stateChanged):
1126 (WebCore::MediaPlayerPrivate::tick):
1127 (WebCore::MediaPlayerPrivate::metaDataChanged):
1128 (WebCore::MediaPlayerPrivate::seekableChanged):
1129 (WebCore::MediaPlayerPrivate::hasVideoChanged):
1130 (WebCore::MediaPlayerPrivate::bufferStatus):
1131 (WebCore::MediaPlayerPrivate::finished):
1132 (WebCore::MediaPlayerPrivate::currentSourceChanged):
1133 (WebCore::MediaPlayerPrivate::aboutToFinish):
1134 (WebCore::MediaPlayerPrivate::prefinishMarkReached):
1135 (WebCore::MediaPlayerPrivate::totalTimeChanged):
1136 * platform/graphics/qt/MediaPlayerPrivatePhonon.h: Added.
1137 (WebCore::MediaPlayerPrivate::):
1138 (WebCore::MediaPlayerPrivate::isAvailable):
1140 2008-03-10 Sam Weinig <sam@webkit.org>
1142 Reviewed by Beth Dakin.
1144 Throw a SECURITY_ERR when accessing a tainted canvas
1145 by CanvasRenderingContext2D::getImageData() and
1146 HTMLCanvasElement::toDataURL().
1148 * html/CanvasRenderingContext2D.cpp:
1149 (WebCore::CanvasRenderingContext2D::getImageData):
1150 * html/CanvasRenderingContext2D.h:
1151 * html/CanvasRenderingContext2D.idl:
1152 * html/HTMLCanvasElement.cpp:
1153 (WebCore::HTMLCanvasElement::toDataURL):
1154 * html/HTMLCanvasElement.h:
1155 * html/HTMLCanvasElement.idl:
1157 2008-03-10 Justin Garcia <justin.garcia@apple.com>
1161 <rdar://problem/5779984> REGRESSION (r30391): GMail: Safari won't display the Edit Link dialog
1163 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1164 (WebCore::hasCSSPropertyNamePrefix): Fixed a typo. The code was only
1165 comparing the first character of the prefix to the first character
1166 of the property name.
1168 2008-03-10 Andre Boule <aboule@apple.com>
1172 Hold off on initializing the frame to avoid the RenderView getting
1173 a null FrameView. This could potentially cause problems.
1175 * svg/graphics/SVGImage.cpp:
1176 (WebCore::SVGImage::dataChanged):
1178 2008-03-10 Darin Adler <darin@apple.com>
1180 - try to fix Qt build
1182 * bridge/qt/qt_runtime.cpp:
1183 (KJS::Bindings::convertQVariantToValue): Change KJS::UChar to UChar.
1185 2008-03-10 Darin Adler <darin@apple.com>
1189 - fix <rdar://problem/3059610> VIP: links opened in new frame, window, or tab
1190 should be redrawn as visited immediately
1191 - fix <rdar://problem/4382809> Going "back" a page doesn't change the color of
1192 the visited URL at directory.umi
1193 - fix http://bugs.webkit.org/show_bug.cgi?id=4941
1194 Visited links should be marked as visited
1195 - fix http://bugs.webkit.org/show_bug.cgi?id=7960
1196 REGRESSION: Visited link color doesn't displayed after loading page from cache
1198 We now mark all links on a page as "changed" at the appropriate times.
1200 * WebCore.base.exp: Update since I made completeURL be a const member function.
1202 * css/CSSStyleSelector.cpp: Got rid of some unneeded globals that could be turned
1203 into locals. Also changed some static data members to file-scoped globals with
1204 internal linkage. Renamed the globals to get rid of the m_ prefix. Changed the
1205 prefix on m_styleNotYetAvailable to s_styleNotYetAvailable.
1206 (WebCore::CSSStyleSelector::CSSStyleSelector): Updated for name changes.
1207 (WebCore::parseUASheet): Tweak the comment.
1208 (WebCore::CSSStyleSelector::loadDefaultStyle): Updated for name changes and to
1209 use local variables instead of globals where possible.
1210 (WebCore::CSSStyleSelector::checkPseudoState): Made this a member function so
1211 it can store the link in a hash. Also changed it to have a return value instead
1212 of having it modify a global variable. Added code to put the hash into a set so
1213 we can tell later if this is one of the links that affects this page.
1214 (WebCore::CSSStyleSelector::canShareStyleWithElement): Updated for the change to
1216 (WebCore::CSSStyleSelector::matchUARules): Updated for name changes.
1217 (WebCore::CSSStyleSelector::styleForElement): Ditto.
1218 (WebCore::CSSStyleSelector::adjustRenderStyle): Ditto.
1219 (WebCore::CSSStyleSelector::pseudoStyleRulesForElement): Changed code to read
1220 the SVG style sheet to use a boolean global and put it right here in the function
1221 since this is the only code that needs to know about it.
1222 (WebCore::CSSStyleSelector::checkOneSelector): Updated for name changes.
1223 (WebCore::colorForCSSValue): Moved code inside the function that is not needed
1225 (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Updaed for the change
1226 to checkPseudoState.
1227 (WebCore::CSSStyleSelector::allVisitedStateChanged): Added. Calls setChanged on
1228 all links if there were any in the set.
1229 (WebCore::CSSStyleSelector::visitedStateChanged): Added. Calls setChanged on all
1230 links if the one that changed is in the set.
1232 * css/CSSStyleSelector.h: Removed unused StyleSelector class and State enum. Made
1233 CSSStyleSelector derive from Noncopyable. Made lots of member functions private that
1234 didn't need to be public, and removed others that could be made into non-member
1235 functions. Changed pseudoStyleRulesForElement to take a const String& instead of
1236 a StringImpl*. Added new allVisitedStateChanged and visitedStateChanged functions.
1237 Got rid of unneeded friend declarations.
1240 (WebCore::Document::completeURL): Made const.
1241 (WebCore::findSlashDotDotSlash): Moved here from PageGroup.
1242 (WebCore::findSlashSlash): Ditto.
1243 (WebCore::findSlashDotSlash): Ditto.
1244 (WebCore::containsColonSlashSlash):
1245 (WebCore::cleanPath): Ditto.
1246 (WebCore::matchLetter): Ditto.
1247 (WebCore::needsTrailingSlash): Ditto.
1248 (WebCore::Document::visitedLinkHash): Moved this here from PageGroup. This is
1249 the poor-man's completeURL function. The idea of putting it here is that this
1250 way it can be alongside the real completeURL function. Later we should figure out
1251 a way to make this function share more code with the real thing and match behavior.
1253 * dom/Document.h: Marked completeURL function const. Added visitedLinkHash function.
1255 * page/DOMWindow.cpp:
1256 (WebCore::DOMWindow::getMatchedCSSRules): Updated for change to CSSStyleSelector.
1259 (WebCore::Page::allVisitedStateChanged): Added. Calls allVisitedStateChanged on all
1261 (WebCore::Page::visitedStateChanged): Ditto.
1262 * page/Page.h: Added the above functions.
1264 * page/PageGroup.cpp:
1265 (WebCore::PageGroup::isLinkVisited): Changed to take a visitedLinkHash parameter.
1266 The CSSStyleSelector now handles actually computing the hash, and it does so by
1267 calling code in Document.
1268 (WebCore::PageGroup::addVisitedLink): Refactored so the two overloaded copies share
1269 a bit more code. Added code that calls visitedStateChanged if a new link was added.
1270 (WebCore::PageGroup::removeVisitedLinks): Added code to call allVisitedStateChanged
1271 if any visited links are removed.
1272 * page/PageGroup.h: Include StringHash.h instead of having the AlreadyHashed struct
1275 * platform/text/StringHash.h:
1276 (WebCore::CaseFoldingHash::hash): Tweaked to make this a bit more consistent with
1277 the StringImpl::computeHash function, using the same technique for avoiding 0.
1278 (WebCore::AlreadyHashed::hash): Added. Was formerly in PageGroup.h.
1279 (WebCore::AlreadyHashed::avoidDeletedValue): Added. Was formerly in PageGroup.cpp.
1281 * rendering/RenderStyle.cpp:
1282 (WebCore::RenderStyle::isStyleAvailable): Changed to use an inline function instead
1283 of getting directly at a data member so the data member could be made private.
1285 * loader/FrameLoader.cpp:
1286 (WebCore::FrameLoader::scrollToAnchor): Added call to updateHistoryForAnchorScroll.
1287 (WebCore::FrameLoader::updateHistoryForAnchorScroll): Added.
1288 * loader/FrameLoader.h: Added updateHistoryForAnchorScroll.
1290 2008-03-10 Adam Roben <aroben@apple.com>
1292 Part of Bug 17224: DOM nodes/attributes should be editable
1294 <http://bugs.webkit.org/show_bug.cgi?id=17224>
1295 <rdar://problem/5732825>
1297 This patch makes DOM attributes editable via double-click.
1301 * page/inspector/DocumentPanel.js:
1302 (WebInspector.DOMNodeTreeElement.onmousedown): Don't do anything if
1303 we're being edited, since we want default editing behaviors to work.
1304 (WebInspector.DOMNodeTreeElement.ondblclick): Try to start editing
1305 before doing anything else.
1306 (WebInspector.DOMNodeTreeElement._startEditing): Added. Currently only
1307 lets you edit attributes.
1308 (WebInspector.DOMNodeTreeElement._attributeEditingCommitted): Added.
1309 Uses a scratch element to get the new attribute(s) parsed, then sets
1310 the attribute(s) on the node in the inspected document.
1311 (WebInspector.DOMNodeTreeElement._attributeEditingCancelled): Added.
1312 (WebInspector.DOMNodeTreeElement._updateTitle): Added. Refreshes the
1313 representation of the node in the Inspector's DOM tree to reflect
1314 the node's current state.
1315 * page/inspector/inspector.css: Made the .editing class apply
1317 * page/inspector/utilities.js:
1318 (nodeTitleInfo): Changed to surround attribute name/value pairs in a
1319 webkit-html-attribute span so that we can easily edit the pair as a
1322 2008-03-10 David Kilzer <ddkilzer@apple.com>
1326 Reviewed by Stephanie.
1328 WebCore.exp only gets generated once for both 32-bit and 64-bit builds,
1329 so we must exclude the _NPN symbols when creating WebCore.LP64.exp.
1331 * WebCore.xcodeproj/project.pbxproj: Reverted build phase shell code to
1332 r30826 to remove _NPN symbols from 64-bit builds in WebCore.LP64.exp.
1334 2008-03-10 Eric Seidel <eric@webkit.org>
1338 Remove KJS::UChar, use ::UChar instead
1339 http://bugs.webkit.org/show_bug.cgi?id=17017
1341 To functional changes, thus no tests.
1343 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1344 (WebCore::hasCSSPropertyNamePrefix):
1345 (WebCore::cssPropertyName):
1346 * bindings/js/JSDOMWindowBase.cpp:
1347 (WebCore::windowProtoFuncAToB):
1348 (WebCore::windowProtoFuncBToA):
1349 * bindings/js/JSSVGPODTypeWrapper.h:
1350 * bindings/js/kjs_proxy.cpp:
1351 (WebCore::KJSProxy::evaluate):
1352 * bridge/objc/objc_utility.mm:
1353 (KJS::Bindings::throwError):
1355 (WebCore::Document::parseQualifiedName):
1356 * platform/text/AtomicString.cpp:
1357 (WebCore::AtomicString::add):
1358 * platform/text/String.cpp:
1359 (WebCore::String::String):
1360 (WebCore::String::operator Identifier):
1361 (WebCore::String::operator UString):
1362 * platform/text/TextCodecICU.cpp:
1363 (WebCore::TextCodecICU::decode):
1364 * svg/SVGAnimatedTemplate.h:
1366 2008-03-10 Darin Adler <darin@apple.com>
1370 - eliminate keyboard UI mode method from WebCoreFrameBridge
1372 * page/ChromeClient.h: Added keyboardUIMode function.
1373 (WebCore::ChromeClient::keyboardUIMode): Ditto.
1374 * page/mac/EventHandlerMac.mm:
1375 (WebCore::EventHandler::tabsToAllControls): Call chrome client function instead
1377 * page/mac/WebCoreFrameBridge.h: Removed keyboardUIMode method, and other unused
1380 * WebCore.xcodeproj/project.pbxproj: Allowed Xcode to change the project.
1381 Do not try to fight the Xcode.
1383 2008-03-10 Darin Adler <darin@apple.com>
1385 - oops, forgot to save last couple changes from the editor
1387 * bindings/js/JSDOMWindowCustom.cpp:
1388 (WebCore::markDOMObjectWrapper): Tweaked a tiny bit.
1389 (WebCore::JSDOMWindow::mark): Sorted alphabetically.
1391 2008-03-10 Darin Adler <darin@apple.com>
1395 - fix failing regression test (window.navigator is getting garbage
1396 collected and thus losing its custom properties)
1398 * bindings/js/JSDOMWindowCustom.cpp:
1399 (WebCore::markDOMObject): Added helper function.
1400 (WebCore::JSDOMWindow::mark): Added. Marks the wrappers for all the objects that hang
1401 off the window object.
1404 (WebCore::DOMWindow::optionalScreen): Added so we can get the Screen object without
1405 creating it if it's already there.
1406 (WebCore::DOMWindow::optionalSelection): Ditto.
1407 (WebCore::DOMWindow::optionalHistory): Ditto.
1408 (WebCore::DOMWindow::optionalLocationbar): Ditto.
1409 (WebCore::DOMWindow::optionalMenubar): Ditto.
1410 (WebCore::DOMWindow::optionalPersonalbar): Ditto.
1411 (WebCore::DOMWindow::optionalScrollbars): Ditto.
1412 (WebCore::DOMWindow::optionalStatusbar): Ditto.
1413 (WebCore::DOMWindow::optionalToolbar): Ditto.
1414 (WebCore::DOMWindow::optionalConsole): Ditto.
1415 (WebCore::DOMWindow::optionalNavigator): Ditto.
1417 * page/DOMWindow.idl: Added the CustomMarkFunction flag. Sorted the flags in
1418 alphabetical order since there are a lot of them.
1420 2008-03-10 Darin Adler <darin@apple.com>
1424 - eliminate Java applet methods from WebCoreFrameBridge
1426 * loader/FrameLoaderClient.h: Added a javaApplet function.
1427 * page/mac/FrameMac.mm:
1428 (WebCore::Frame::createScriptInstanceForWidget): Streamlined the code.
1429 Use the loader client instead of the bridge to get the applet.
1430 * page/mac/WebCoreFrameBridge.h: Removed the getAppletInView and
1431 pollForAppletInView methods. Also removed other unused things.
1433 2008-03-10 Marc-Antoine Ruel <maruel@gmail.com>
1435 Reviewed by Eric, landed by Darin.
1437 http://bugs.webkit.org/show_bug.cgi?id=16095
1438 Move GraphicsContextPrivate to its own header file.
1440 Moves GraphicsContextState and GraphicsContextPrivate to its
1443 * WebCore.vcproj/WebCore.vcproj:
1444 * platform/graphics/GraphicsContext.cpp:
1445 * platform/graphics/GraphicsContextPrivate.h: Added.
1446 (WebCore::GraphicsContextState::GraphicsContextState):
1447 (WebCore::GraphicsContextPrivate::GraphicsContextPrivate):
1449 2008-03-10 Julien Chaffraix <julien.chaffraix@gmail.com>
1451 Reviewed and landed by Darin.
1453 bug 12182 : XMLHttpRequest should raise SECURITY_ERR for same-origin policy violations
1455 Removed reference to PERMISSION_DENIED (previous non standard exception) and replaced it
1456 by DOM exception SECURITY_ERR. Updated XMLHttpRequest::open to raise SECURITY_ERR.
1458 * bindings/js/kjs_binding.cpp:
1459 (WebCore::setDOMException): Removed PERMISSION_DENIED code.
1460 * dom/ExceptionCode.cpp: Added SECURITY_ERR exception.
1461 * dom/ExceptionCode.h: Ditto.
1462 * xml/XMLHttpRequest.cpp:
1463 (WebCore::XMLHttpRequest::open): Returns SECURITY_ERR now.
1464 * xml/XMLHttpRequestException.h: Removed PERMISSION_DENIED.
1466 2008-03-09 Adam Roben <aroben@apple.com>
1468 Refactor CSS editing code so we can share it with DOM editing
1470 Add WebInspector.startEditing, which takes the element to be edited, a
1471 committedCallback, a cancelledCallback, and a context parameter. This
1472 function takes care of setting up the element for editing, and calls
1473 either the cancelledCallback or committedCallback when editing ends.
1477 * page/inspector/StylesSidebarPane.js:
1478 (WebInspector.StylePropertyTreeElement.startEditing):
1479 - Call WebInspector.isBeingEdited and WebInspector.startEditing
1480 - Removed code now handled by WebInspector.startEditing
1481 (WebInspector.StylePropertyTreeElement.editingEnded):
1482 - Renamed from endEditing
1483 - Removed code now handled by WebInspector.startEditing
1484 (WebInspector.StylePropertyTreeElement.editingCancelled):
1485 - Renamed from cancelEditing
1486 - Changed parameters to match WebInspector.startEditing's
1488 (WebInspector.StylePropertyTreeElement.editingCommitted):
1489 - Renamed from commitEditing
1490 - Changed parameters to match WebInspector.startEditing's
1492 * page/inspector/inspector.js:
1493 (WebInspector.changeFocus): Changed a call to firstParentWithClassName
1494 to firstParentOrSelfWithClassName so that if the focusable element
1495 itself is the target it will be recognized. I don't know why this
1496 change wasn't needed before this.
1497 (WebInspector.isBeingEdited): Added.
1498 (WebInspector.startEditing): Added.
1500 2008-03-10 Adam Roben <aroben@apple.com>
1504 * WebCore.vcproj/WebCore.vcproj: Pick up generated source files out of
1505 $(WebKitOutputDir) instead of hard-coding WebKitBuild.
1507 2008-03-10 Darin Adler <darin@apple.com>
1509 * DerivedSources.make: Merge plug-in-related changes with the new way of handling
1510 autogenerated DOM classes.
1512 2008-03-10 Johnny Ding <johnnyding.webkit@gmail.com>
1514 Reviewed, tweaked and landed by Alexey.
1516 - fix http://bugs.webkit.org/show_bug.cgi?id=17732
1518 We didn't have a fallback to frame encoding in the case of loading a script via
1519 changing its src attribute.
1521 Test: fast/dom/HTMLScriptElement/script-decoding-error-after-setting-src.html
1523 * html/HTMLScriptElement.cpp:
1524 (WebCore::HTMLScriptElement::parseMappedAttribute): Use a helper function to get proper
1525 charset for correct decoding of script content.
1526 (WebCore::HTMLScriptElement::insertedIntoDocument):
1527 (WebCore::HTMLScriptElement::scriptCharset): A helper function for getting proper charset
1528 for the script (as much as can be determined prior to loading it).
1529 * html/HTMLScriptElement.h:
1530 * html/HTMLTokenizer.cpp:
1531 (WebCore::HTMLTokenizer::parseTag): Use a helper function to get proper charset for correct
1532 decoding of script content.
1534 2008-03-10 Simon Hausmann <hausmann@webkit.org>
1538 Fix reference counting of returned MimeType and Plugin objects
1539 created in the array wrappers.
1541 * plugins/MimeTypeArray.cpp:
1542 * plugins/MimeTypeArray.h:
1543 * plugins/Plugin.cpp:
1545 * plugins/PluginArray.cpp:
1546 * plugins/PluginArray.h:
1548 2008-03-10 Simon Hausmann <hausmann@webkit.org>
1552 Added missing stubs for PluginData.
1554 * platform/wx/TemporaryLinkStubs.cpp:
1556 2008-03-10 Simon Hausmann <hausmann@webkit.org>
1558 Windows build fix that I forgot to merge earlier ;(
1560 Forward declare Page as class, not struct.
1562 * plugins/PluginData.h:
1564 2008-03-10 Simon Hausmann <hausmann@webkit.org>
1566 Attempt to fix the Wx build.
1568 * WebCoreSources.bkl:
1570 2008-03-07 Simon Hausmann <hausmann@webkit.org>
1576 http://bugs.webkit.org/show_bug.cgi?id=16815
1578 Ported the manually written JS bindings of window.navigator,
1579 window.navigator.plugins and window.navigator.mimeTypes to
1580 auto-generated bindings.
1582 Moved the globally cached plugin and mimetype information to a
1583 per WebCore::Page shared PluginData structure.
1585 Implemented window.navigator.plugins.refresh() in a
1586 platform-independent way.
1588 * DerivedSources.make:
1591 * WebCore.vcproj/WebCore.vcproj:
1592 * WebCore.xcodeproj/project.pbxproj:
1593 * bindings/js/JSDOMWindowBase.cpp:
1594 (WebCore::JSDOMWindowBase::getValueProperty):
1595 * bindings/js/JSMimeTypeArrayCustom.cpp: Added.
1596 (WebCore::JSMimeTypeArray::canGetItemsForName):
1597 (WebCore::JSMimeTypeArray::nameGetter):
1598 * bindings/js/JSNavigatorCustom.cpp: Added.
1599 (WebCore::needsYouTubeQuirk):
1600 (WebCore::JSNavigator::appVersion):
1601 * bindings/js/JSPluginArrayCustom.cpp: Added.
1602 (WebCore::JSPluginArray::canGetItemsForName):
1603 (WebCore::JSPluginArray::nameGetter):
1604 * bindings/js/JSPluginCustom.cpp: Added.
1605 (WebCore::JSPlugin::canGetItemsForName):
1606 (WebCore::JSPlugin::nameGetter):
1607 * bindings/js/kjs_navigator.cpp: Removed.
1608 * bindings/js/kjs_navigator.h: Removed.
1609 * dom/Clipboard.cpp:
1610 * dom/DOMImplementation.cpp:
1611 (WebCore::DOMImplementation::createDocument):
1612 * loader/FrameLoader.cpp:
1613 (WebCore::FrameLoader::shouldUsePlugin):
1614 * page/DOMWindow.cpp:
1615 (WebCore::DOMWindow::clear):
1616 (WebCore::DOMWindow::navigator):
1618 * page/DOMWindow.idl:
1619 * page/DragController.cpp:
1622 * page/Navigator.cpp: Added.
1623 (WebCore::Navigator::Navigator):
1624 (WebCore::Navigator::~Navigator):
1625 (WebCore::Navigator::disconnectFrame):
1626 (WebCore::Navigator::appCodeName):
1627 (WebCore::Navigator::appName):
1628 (WebCore::Navigator::appVersion):
1629 (WebCore::Navigator::language):
1630 (WebCore::Navigator::userAgent):
1631 (WebCore::Navigator::platform):
1632 (WebCore::Navigator::plugins):
1633 (WebCore::Navigator::mimeTypes):
1634 (WebCore::Navigator::product):
1635 (WebCore::Navigator::productSub):
1636 (WebCore::Navigator::vendor):
1637 (WebCore::Navigator::vendorSub):
1638 (WebCore::Navigator::cookieEnabled):
1639 (WebCore::Navigator::javaEnabled):
1640 * page/Navigator.h: Added.
1641 (WebCore::Navigator::create):
1642 (WebCore::Navigator::frame):
1643 * page/Navigator.idl: Added.
1645 (WebCore::Page::refreshPlugins):
1646 (WebCore::Page::pluginData):
1648 * page/Plugin.h: Removed.
1649 * page/mac/FrameMac.mm:
1650 * page/mac/WebCoreFrameBridge.mm:
1651 (-[WebCoreFrameBridge canProvideDocumentSource]):
1652 * page/mac/WebCoreViewFactory.h:
1653 * page/qt/FrameQt.cpp:
1654 * page/win/FrameWin.cpp:
1655 * platform/gtk/TemporaryLinkStubs.cpp:
1656 * platform/mac/PlugInInfoStoreMac.mm: Removed.
1657 * platform/qt/MIMETypeRegistryQt.cpp:
1658 (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
1659 * plugins/MimeType.cpp: Added.
1660 (WebCore::MimeType::MimeType):
1661 (WebCore::MimeType::~MimeType):
1662 (WebCore::MimeType::type):
1663 (WebCore::MimeType::suffixes):
1664 (WebCore::MimeType::description):
1665 (WebCore::MimeType::enabledPlugin):
1666 * plugins/MimeType.h: Added.
1667 (WebCore::MimeType::create):
1668 * plugins/MimeType.idl: Added.
1669 * plugins/MimeTypeArray.cpp: Added.
1670 (WebCore::MimeTypeArray::MimeTypeArray):
1671 (WebCore::MimeTypeArray::~MimeTypeArray):
1672 (WebCore::MimeTypeArray::length):
1673 (WebCore::MimeTypeArray::item):
1674 (WebCore::MimeTypeArray::canGetItemsForName):
1675 (WebCore::MimeTypeArray::nameGetter):
1676 (WebCore::MimeTypeArray::getPluginData):
1677 * plugins/MimeTypeArray.h: Added.
1678 (WebCore::MimeTypeArray::create):
1679 (WebCore::MimeTypeArray::disconnectFrame):
1680 * plugins/MimeTypeArray.idl: Added.
1681 * plugins/Plugin.cpp: Added.
1682 (WebCore::Plugin::Plugin):
1683 (WebCore::Plugin::~Plugin):
1684 (WebCore::Plugin::name):
1685 (WebCore::Plugin::filename):
1686 (WebCore::Plugin::description):
1687 (WebCore::Plugin::length):
1688 (WebCore::Plugin::item):
1689 (WebCore::Plugin::canGetItemsForName):
1690 (WebCore::Plugin::nameGetter):
1691 * plugins/Plugin.h: Added.
1692 (WebCore::Plugin::create):
1693 * plugins/Plugin.idl: Added.
1694 * plugins/PluginArray.cpp: Added.
1695 (WebCore::PluginArray::PluginArray):
1696 (WebCore::PluginArray::~PluginArray):
1697 (WebCore::PluginArray::length):
1698 (WebCore::PluginArray::item):
1699 (WebCore::PluginArray::canGetItemsForName):
1700 (WebCore::PluginArray::nameGetter):
1701 (WebCore::PluginArray::refresh):
1702 (WebCore::PluginArray::getPluginData):
1703 * plugins/PluginArray.h: Added.
1704 (WebCore::PluginArray::create):
1705 (WebCore::PluginArray::disconnectFrame):
1706 * plugins/PluginArray.idl: Added.
1707 * plugins/PluginData.cpp: Added.
1708 (WebCore::PluginData::PluginData):
1709 (WebCore::PluginData::~PluginData):
1710 (WebCore::PluginData::supportsMimeType):
1711 (WebCore::PluginData::pluginNameForMimeType):
1712 * plugins/PluginData.h: Added.
1713 (WebCore::PluginData::create):
1714 (WebCore::PluginData::disconnectPage):
1715 (WebCore::PluginData::page):
1716 (WebCore::PluginData::plugins):
1717 (WebCore::PluginData::mimes):
1718 * plugins/mac/PluginDataMac.mm: Added.
1719 (WebCore::PluginData::initPlugins):
1720 (WebCore::PluginData::refresh):
1721 * plugins/qt/PluginDataQt.cpp: Added.
1722 (WebCore::PluginData::initPlugins):
1723 * plugins/win/PluginDataWin.cpp: Added.
1724 (WebCore::PluginData::initPlugins):
1725 (WebCore::PluginData::refresh):
1727 2008-03-10 Simon Hausmann <hausmann@webkit.org>
1731 Replace two printfs() in the Qt port with notImplemented().
1733 * html/CanvasRenderingContext2D.cpp:
1734 (WebCore::CanvasRenderingContext2D::applyStrokePattern):
1735 (WebCore::CanvasRenderingContext2D::applyFillPattern):
1737 2008-03-10 Simon Hausmann <hausmann@webkit.org>
1741 Compilation fix with gcc 4.3: Include stdio.h for printf.
1743 * html/CanvasRenderingContext2D.cpp:
1744 * html/HTMLCanvasElement.cpp:
1746 2008-03-09 Steve Falkenburg <sfalken@apple.com>
1748 Stop Windows build if an error occurs in a prior project.
1750 Rubber stamped by Darin.
1752 * WebCore.vcproj/WebCore.vcproj:
1753 * WebCore.vcproj/WebCoreGenerated.vcproj:
1755 2008-03-09 Darin Adler <darin@apple.com>
1757 * DerivedSources.make: Third try at fixing the build.
1758 * bindings/js/JSRGBColor.cpp: And touching this file.
1760 2008-03-09 Darin Adler <darin@apple.com>
1762 * DerivedSources.make: One *more* try at fixing the build.
1764 2008-03-09 Darin Adler <darin@apple.com>
1766 * DerivedSources.make: One more try at fixing the build.
1768 2008-03-09 Darin Adler <darin@apple.com>
1770 * DerivedSources.make: Re-land the change, fixed, and with an attempt to fix the
1771 bots by removing the incorrect file.
1773 2008-03-09 Oliver Hunt <oliver@apple.com>
1777 Roll out r30909 -- it breaks the build and is a non-trivial fix (according to weinig)
1779 * DerivedSources.make:
1781 2008-03-09 Darin Adler <darin@apple.com>
1785 * DerivedSources.make: Put the list of DOM classes into its own
1786 variable, and generate the JavaScript bindings and Objective-C
1787 bindings dependencies from that. Added some separators to make it
1788 a little easier to see the sections of the file. Moved all the
1789 Mac-specific rules (except for the SVG conditional part) down
1790 to the bottom of the file in a separate section.
1792 2008-03-09 Adam Roben <aroben@apple.com>
1796 * WebCore.vcproj/WebCore.vcproj: Make sure all Cairo files are
1797 excluded from all three CG-based configurations: Debug, Release, and
1800 2008-03-08 Mark Rowe <mrowe@apple.com>
1802 Attempt to fix the Qt build.
1804 * platform/MIMETypeRegistry.cpp: Add missing include.
1806 2008-03-08 Oliver Hunt <oliver@apple.com>
1810 Bug 16516: canvas image patterns stop working with some transformations
1812 Simple fix. We used x/yStep of FLT_MAX to fake a no-repeat-x/y pattern
1813 with CG. However any transforms involving FLT_MAX immediately get
1814 consumed by the introduced floating point error. yStep had already been
1815 clamped to a much smaller arbitrary value, and this patch makes us use
1816 that clamp value for xStep as well.
1818 * html/CanvasPattern.cpp:
1819 (WebCore::CanvasPattern::createPattern):
1821 2008-03-08 Oliver Hunt <oliver@apple.com>
1825 Bug 17728: Canvas.createPattern with null repeat argument throws an exception
1827 Trivial fix, we were calling toString on null which produces the string "null",
1828 we just needed to switch to using valueToStringWithNullCheck rather than
1829 JSValue::toString directly
1831 Test: fast/canvas/canvas-pattern-behaviour.html
1833 * WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp:
1834 (WebCore::JSCanvasRenderingContext2D::createPattern):
1836 2008-03-08 Mark Rowe <mrowe@apple.com>
1838 Reviewed by Darin Adler.
1840 Fix 64-bit build with GCC 4.2.
1842 * bindings/objc/WebScriptObject.mm: Use NSUInteger in place of unsigned where required.
1843 * platform/mac/SharedBufferMac.mm: Ditto.
1845 2008-03-08 Dan Bernstein <mitz@apple.com>
1847 Reviewed by Oliver Hunt.
1849 - fix garbage in transparent areas in canvas.toDataURL results
1851 * platform/graphics/cg/ImageBufferCG.cpp:
1852 (WebCore::ImageBuffer::toDataURL): Clear the bitmap context before
1853 painting the canvas image onto it.
1855 2008-03-08 Darin Adler <darin@apple.com>
1859 - eliminate custom highlight methods from WebCoreFrameBridge
1862 (WebCore::ChromeClient::customHighlightRect): Added.
1863 (WebCore::ChromeClient::paintCustomHighlight): Added.
1864 * page/ChromeClient.h: Added custom highlight functions.
1865 * page/Frame.h: Removed custom highlight functions.
1866 * page/mac/FrameMac.mm: Ditto.
1867 * page/mac/WebCoreFrameBridge.h: Removed custom highlight methods.
1868 * rendering/InlineTextBox.cpp:
1869 (WebCore::InlineTextBox::paintCustomHighlight): Changed code to use
1870 the ChromeClient instead of WebCoreFrameBridge to do the custom highlight.
1871 * rendering/RenderBox.cpp:
1872 (WebCore::RenderBox::paintCustomHighlight): Ditto.
1873 * rendering/RootInlineBox.cpp:
1874 (WebCore::RootInlineBox::addHighlightOverflow): Ditto.
1875 (WebCore::RootInlineBox::paintCustomHighlight): Ditto.
1877 2008-03-07 Stephanie Lewis <slewis@apple.com>
1883 * platform/graphics/cg/ImageBufferCG.cpp:
1884 (WebCore::ImageBuffer::toDataURL):
1886 2008-03-07 David D. Kilzer <ddkilzer@apple.com>
1888 Unify concept of enabling Netscape Plug-in API (NPAPI).
1892 No test cases since there is no change in functionality.
1894 * DerivedSources.make: Added check for ENABLE_NETSCAPE_PLUGIN_API macro.
1895 If defined as "1", add WebCore.NPAPI.exp to WEBCORE_EXPORT_DEPENDENCIES.
1896 * WebCore.NPAPI.exp: Added.
1897 * WebCore.base.exp: Moved exported NPAPI methods to WebCore.NPAPI.exp.
1898 * WebCore.xcodeproj/project.pbxproj: Removed changes in r30826 (except
1899 comments) since we now handle exported NPAPI methods via DerivedSources.make.
1901 * config.h: Removed USE(NPOBJECT) since we now use ENABLE(NETSCAPE_PLUGIN_API) as
1902 defined in Platform.h.
1904 * bindings/objc/DOM.mm: Replaced USE(NPOBJECT) with ENABLE(NETSCAPE_PLUGIN_API).
1905 (-[DOMElement _NPObject]):
1907 * bridge/NP_jsobject.cpp: Replaced !PLATFORM(DARWIN) || !defined(__LP64__) with
1908 ENABLE(NETSCAPE_PLUGIN_API).
1909 * bridge/NP_jsobject.h: Ditto.
1910 * bridge/c/c_class.cpp: Ditto.
1911 * bridge/c/c_class.h: Ditto.
1912 * bridge/c/c_instance.cpp: Ditto.
1913 * bridge/c/c_instance.h: Ditto.
1914 * bridge/c/c_runtime.cpp: Ditto.
1915 * bridge/c/c_runtime.h: Ditto.
1916 * bridge/c/c_utility.cpp: Ditto.
1917 * bridge/c/c_utility.h: Ditto.
1918 * bridge/npruntime.cpp: Ditto.
1919 * bridge/npruntime_impl.h: Ditto.
1920 * bridge/npruntime_priv.h: Ditto.
1921 * bridge/runtime.cpp: Ditto.
1922 (KJS::Bindings::Instance::createBindingForLanguageInstance):
1924 * html/HTMLPlugInElement.cpp: Replaced USE(NPOBJECT) with ENABLE(NETSCAPE_PLUGIN_API).
1925 (WebCore::HTMLPlugInElement::HTMLPlugInElement):
1926 (WebCore::HTMLPlugInElement::~HTMLPlugInElement):
1927 * html/HTMLPlugInElement.h: Ditto.
1929 * page/Frame.cpp: Replaced USE(NPOBJECT) with ENABLE(NETSCAPE_PLUGIN_API).
1930 (WebCore::Frame::clearScriptObjects):
1931 (WebCore::FramePrivate::FramePrivate): Also added #if ENABLE(NETSCAPE_PLUGIN_API)
1932 guard around m_windowScriptNPObject.
1933 * page/Frame.h: Replaced USE(NPOBJECT) with ENABLE(NETSCAPE_PLUGIN_API).
1934 * page/FramePrivate.h: Added #if ENABLE(NETSCAPE_PLUGIN_API) guard around
1935 m_windowScriptNPObject.
1936 * page/mac/FrameMac.mm: Replaced USE(NPOBJECT) with ENABLE(NETSCAPE_PLUGIN_API).
1937 (WebCore::Frame::createScriptInstanceForWidget):
1939 2008-03-07 Alexey Proskuryakov <ap@webkit.org>
1943 REGRESSION: Korean decoding doesn't support extended EUC-KR.
1945 Test: fast/encoding/char-decoding.html
1947 * platform/text/TextCodecICU.cpp:
1948 (WebCore::TextCodecICU::registerExtendedEncodingNames): Untangle the system of duplicate ICU
1949 encoding names by manually registering windows-939-2000, and mapping all other related
1952 2008-03-07 Dan Bernstein <mitz@apple.com>
1954 Reviewed by Stephanie.
1956 - try to fix leaks seen on Tiger after r30840
1958 * css/CSSStyleSelector.cpp:
1959 (WebCore::CSSStyleSelector::~CSSStyleSelector): Use the default operator
1960 delete, rather than arena delete, to deallocate the root default style.
1962 2008-03-07 Pierre-Luc Beaudoin <pierre-luc.beaudoin@collabora.co.uk>
1964 Reviewed by Alp Toker.
1966 http://bugs.webkit.org/show_bug.cgi?id=17681
1967 GtkLauncher fails to render an element with position: fixed
1969 Implement the required parts of PlatformScreenGtk.
1972 * platform/gtk/PlatformScreenGtk.cpp:
1973 (WebCore::screenDepth):
1974 (WebCore::screenIsMonochrome):
1975 (WebCore::screenRect):
1977 2008-03-07 Oliver Hunt <oliver@apple.com>
1979 Reviewed by Darin Adler.
1981 Bug 16610: <canvas> restore() removes path segments created before it
1983 The problem here is that WebKit stored the Path as part of the state, so
1984 restore would incorrectly lose changes made to the canvas path. To match
1985 Firefox and HTML5 we make two real changes:
1986 * Move the context path from the state object directly onto the context.
1987 This is responsible for all the changes to the path manipulation functions
1988 * Add transform tracking to each state -- this is needed to correctly transform
1989 the current path when restore()-ing to a prior state.
1991 Test: fast/canvas/canvas-save-restore-with-path.html
1993 * html/CanvasRenderingContext2D.cpp:
1994 (WebCore::CanvasRenderingContext2D::restore):
1995 (WebCore::CanvasRenderingContext2D::scale):
1996 (WebCore::CanvasRenderingContext2D::rotate):
1997 (WebCore::CanvasRenderingContext2D::translate):
1998 (WebCore::CanvasRenderingContext2D::transform):
1999 (WebCore::CanvasRenderingContext2D::beginPath):
2000 (WebCore::CanvasRenderingContext2D::closePath):
2001 (WebCore::CanvasRenderingContext2D::moveTo):
2002 (WebCore::CanvasRenderingContext2D::lineTo):
2003 (WebCore::CanvasRenderingContext2D::quadraticCurveTo):
2004 (WebCore::CanvasRenderingContext2D::arcTo):
2005 (WebCore::CanvasRenderingContext2D::arc):
2006 (WebCore::CanvasRenderingContext2D::rect):
2007 (WebCore::CanvasRenderingContext2D::clearPathForDashboardBackwardCompatibilityMode):
2008 (WebCore::CanvasRenderingContext2D::fill):
2009 (WebCore::CanvasRenderingContext2D::stroke):
2010 (WebCore::CanvasRenderingContext2D::clip):
2011 (WebCore::CanvasRenderingContext2D::isPointInPath):
2012 * html/CanvasRenderingContext2D.h:
2014 2008-03-07 Oliver Hunt <oliver@apple.com>
2018 Fix for crash caused by FrameLoader incorrectly assuming it has
2021 In some circumstances an application embedding a WebView may
2022 choose to prevent a webview from loading a resource. If that
2023 resource was requested by an <object> element then we may
2024 fallback to different content which may not produce a RenderWidget.
2025 Unfortunately FrameLoader::loadSubframe was assuming that if a
2026 renderer was produced it would always be a RenderWidget, and arbitrarily
2027 performed what could be an incorrect cast. This could then lead to
2030 We currently don't have anyway of making a test for this.
2032 * loader/FrameLoader.cpp:
2033 (WebCore::FrameLoader::loadSubframe):
2035 2008-03-07 Samuel Weinig <sam@webkit.org>
2037 Reviewed by Oliver Hunt.
2039 Fix for http://bugs.webkit.org/show_bug.cgi?id=16673
2040 <canvas> lacks toDataURL()
2042 Tests: fast/canvas/toDataURL-noData.html
2043 fast/canvas/toDataURL-supportedTypes.html
2045 * html/CanvasRenderingContext2D.cpp:
2046 (WebCore::CanvasRenderingContext2D::printSecurityExceptionMessage): Make message non-global.
2047 * html/HTMLCanvasElement.cpp:
2048 (WebCore::HTMLCanvasElement::printSecurityExceptionMessage): Log error message indicating that toDataURL has
2049 been called on a tainted canvas.
2050 (WebCore::HTMLCanvasElement::toDataURL): This does the tainted canvas check, ensures that the canvas has pixel
2051 data, checks to see if the MIME type is supported. Unsupported MIME types and the null string (which is made
2052 by passing no argument/null/undefined in JavaScript) are treated as being PNG, as per the spec. The actual
2053 toDataURL logic is actually done in the ImageBuffer class.
2054 * html/HTMLCanvasElement.h: Add function declarations.
2055 * html/HTMLCanvasElement.idl: Add function declaration.
2057 * platform/MIMETypeRegistry.cpp:
2058 (WebCore::initializeSupportedImageMIMETypes):
2059 (WebCore::initializeSupportedImageMIMETypesForEncoding):
2060 (WebCore::initializeSupportedJavaScriptMIMETypes):
2061 (WebCore::initializeSupportedNonImageMimeTypes):
2062 (WebCore::initializeSupportedMediaMIMETypes):
2063 (WebCore::initializeMIMETypeRegistry):
2064 (WebCore::MIMETypeRegistry::getMIMETypeForPath):
2065 (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
2066 (WebCore::MIMETypeRegistry::isSupportedImageResourceMIMEType):
2067 (WebCore::MIMETypeRegistry::isSupportedImageMIMETypeForEncoding):
2068 (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
2069 (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
2070 (WebCore::MIMETypeRegistry::isSupportedMediaMIMEType):
2071 (WebCore::MIMETypeRegistry::isJavaAppletMIMEType):
2072 (WebCore::MIMETypeRegistry::getSupportedImageMIMETypes):
2073 (WebCore::MIMETypeRegistry::getSupportedImageResourceMIMETypes):
2074 (WebCore::MIMETypeRegistry::getSupportedImageMIMETypesForEncoding):
2075 (WebCore::MIMETypeRegistry::getSupportedNonImageMIMETypes):
2076 (WebCore::MIMETypeRegistry::getSupportedMediaMIMETypes):
2077 * platform/MIMETypeRegistry.h:
2078 Clean up and add new supportedImageMIMETypesForEncoding set which contains the set of
2079 MIME types the platform knows how to encode. Currently only implemented for CG and Qt.
2081 * platform/graphics/ImageBuffer.h: Add toDataURL method.
2082 * platform/graphics/cairo/ImageBufferCairo.cpp:
2083 (WebCore::ImageBuffer::toDataURL): Add stub.
2084 * platform/graphics/cg/ImageBufferCG.cpp:
2085 (WebCore::ImageBuffer::create):
2086 (WebCore::ImageBuffer::getImageData):
2087 (WebCore::ImageBuffer::putImageData):
2088 (WebCore::ImageBuffer::toDataURL):
2089 Converts the current context to a data: url of the specified MIME type. This method
2090 unfortunately has to flip the context, resulting in less than optimal code.
2092 * platform/graphics/qt/ImageBufferQt.cpp:
2093 (WebCore::ImageBuffer::toDataURL): Add stub.
2094 * platform/graphics/wx/ImageBufferWx.cpp:
2095 (WebCore::ImageBuffer::toDataURL): Add stub.
2097 2008-03-07 Steve Falkenburg <sfalken@apple.com>
2101 * WebCore.vcproj/WebCore.vcproj:
2103 2008-03-07 Brent Fulgham <bfulgham@gmail.com>
2105 Reviewed by Mark Rowe.
2107 Correct build intermediary output
2108 (http://bugs.webkit.org/show_bug.cgi?id=17713)
2110 * WebCore/WebCore.vcproj: Correct intermediary paths
2112 2008-03-07 Brent Fulgham <bfulgham@gmail.com>
2114 Reviewed by Steve Falkenburg.
2116 Add Cairo build requirements to WebCore.vcproj under a new
2117 set of targets. Exclude Cairo elements from normal CG build.
2118 Exclude CG elements from Cairo builds.
2119 (http://bugs.webkit.org/show_bug.cgi?id=17300)
2121 * WebCore.vcproj/WebCore.vcproj:
2122 * WebCore.vcproj/webcore.vsprops: Added.
2124 2008-03-07 Darin Adler <darin@apple.com>
2128 - eliminated WebCoreFrameBridge runOpenPanel
2130 * page/ChromeClient.h: Added runOpenPanel function.
2131 * page/mac/ChromeMac.mm:
2132 (WebCore::ChromeClient::runOpenPanel): Added.
2133 * platform/FileChooser.cpp:
2134 (WebCore::FileChooser::FileChooser): Moved this here. It's no longer platform-specific.
2135 Also start the refcount at 1.
2136 (WebCore::FileChooser::create): Added adoptRef since the refcount no starts at one.
2137 (WebCore::FileChooser::~FileChooser): Moved here. No longer platform-specific.
2138 * platform/FileChooser.h: Removed m_controller, which was Macintosh-specific.
2139 * platform/gtk/FileChooserGtk.cpp: Removed FileChooser constructor and destructor,
2140 since they are no longer platform-specific.
2141 * platform/qt/FileChooserQt.cpp: Ditto.
2142 * platform/win/FileChooserWin.cpp: Ditto.
2143 * platform/wx/TemporaryLinkStubs.cpp: Ditto.
2144 * platform/mac/FileChooserMac.mm:
2145 (WebCore::FileChooser::openFileChooser): Call the chrome client instead of the
2146 bridge to run the open panel. Allows us to get rid of the WebCoreOpenPanelController
2147 class and m_controller data member and move the cosntrutor/destructor to platform-
2150 2008-03-07 Adam Roben <aroben@apple.com>
2152 Add JavaScriptDebugServer
2154 This class is a singleton which allows one or more
2155 JavaScriptDebugListeners to receive callbacks during JavaScript
2158 Right now all listeners receive callbacks for all Pages in the
2159 process. Eventually we will want to support listeners registering for
2160 callbacks for specific Pages (e.g., the Inspector will want to listen
2161 for execution in just the Page it's inspecting).
2163 Pages notify the JavaScriptDebugServer when they are created so that
2164 it can install itself as the Page's debugger.
2168 * GNUMakefile.am: Added new files to project.
2169 * WebCore.pro: Ditto.
2170 * WebCore.vcproj/WebCore.vcproj: Ditto.
2171 * WebCore.xcodeproj/project.pbxproj: Ditto.
2172 * WebCoreSources.bkl: Ditto.
2173 * page/JavaScriptDebugListener.h: Added.
2174 * page/JavaScriptDebugServer.cpp: Added.
2176 (WebCore::JavaScriptDebugServer::shared):
2177 (WebCore::JavaScriptDebugServer::JavaScriptDebugServer):
2178 (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer):
2179 (WebCore::JavaScriptDebugServer::addListener): Registers as the
2180 debugger for all Pages if we're adding our first listener.
2181 (WebCore::JavaScriptDebugServer::removeListener): Deregisters as the
2182 debugger for all Pages if we're removing our last listner.
2183 (WebCore::JavaScriptDebugServer::pageCreated): Registers as the
2184 debugger for the newly created Page if we have any listeners.
2185 (WebCore::dispatchDidParseSource): Helper function.
2186 (WebCore::dispatchFailedToParseSource): Ditto.
2187 (WebCore::JavaScriptDebugServer::sourceParsed): Call
2188 dispatchDidParseSource or dispatchFailedToParseSource depending on
2189 whether there was an error or not.
2190 (WebCore::JavaScriptDebugServer::dispatchFunctionToListeners): Calls
2191 the passed-in JavaScriptExecutionCallback on each listener, guarding
2193 (WebCore::JavaScriptDebugServer::callEvent): Dispatch didEnterCallFrame.
2194 (WebCore::JavaScriptDebugServer::atStatement): Dispatch willExecuteStatement.
2195 (WebCore::JavaScriptDebugServer::returnEvent): Dispatch willLeaveCallFrame.
2196 (WebCore::JavaScriptDebugServer::exception): Dispatch exceptionWasRaised.
2197 * page/JavaScriptDebugServer.h: Added.
2199 (WebCore::Page::Page): Tell the shared JavaScriptDebugServer we were
2200 created so it can register as our debugger if needed.
2202 2008-03-07 Darin Adler <darin@apple.com>
2206 - fix a theoretical problem with the visited-link hash table by avoiding collision
2207 with the special "deleted" value
2208 - improve efficiency of with the visited-link hash table by not hashing twice
2210 * page/PageGroup.cpp:
2211 (WebCore::avoidDeletedValue): Added. Makes sure we never try to use the "all ones"
2212 value, since the hash table uses that for deleted hash table entries.
2213 (WebCore::PageGroup::isLinkVisited): Call avoidDeletedValue before using the hash
2214 value with the HashSet.
2215 (WebCore::PageGroup::addVisitedLink): Ditto.
2217 * page/PageGroup.h: Added a new hash function, AlreadyHashed, for unsigned integer
2218 values. This assumes that the value is already a hash value, and doesn't try to
2219 hash it again. Used this for m_visitedLinkHashes.
2221 2008-03-07 Simon Hausmann <hausmann@webkit.org>
2227 2008-03-06 Sam Weinig <sam@webkit.org> with a little help from Oliver Hunt <oliver@apple.com>
2231 Implement the HTML5 canvas tainting rules to prevent potential data leakage
2233 Added originClean to HTMLCanvasElement and CanvasPattern
2234 to track whether a canvas (or pattern) is tainted by remote
2236 Use originClean flag to determine whether getImageData should
2237 return, well, image data.
2239 Test: http/tests/security/canvas-remote-read-remote-image.html
2241 * html/CanvasPattern.cpp:
2242 (WebCore::CanvasPattern::CanvasPattern):
2243 * html/CanvasPattern.h:
2244 * html/CanvasRenderingContext2D.cpp:
2245 (WebCore::CanvasRenderingContext2D::setStrokeStyle):
2246 (WebCore::CanvasRenderingContext2D::setFillStyle):
2247 (WebCore::CanvasRenderingContext2D::checkOrigin):
2248 (WebCore::CanvasRenderingContext2D::drawImage):
2249 (WebCore::CanvasRenderingContext2D::drawImageFromRect):
2250 (WebCore::CanvasRenderingContext2D::createPattern):
2251 (WebCore::CanvasRenderingContext2D::printSecurityExceptionMessage):
2252 (WebCore::CanvasRenderingContext2D::getImageData):
2253 * html/CanvasRenderingContext2D.h:
2254 * html/HTMLCanvasElement.cpp:
2255 (WebCore::HTMLCanvasElement::HTMLCanvasElement):
2256 * html/HTMLCanvasElement.h:
2257 (WebCore::HTMLCanvasElement::setOriginTainted):
2258 (WebCore::HTMLCanvasElement::originClean):
2260 2008-03-06 Anders Carlsson <andersca@apple.com>
2264 Templatize the JNI call code to reduce the amount of code that has
2267 * bridge/jni/jni_class.cpp:
2268 (JavaClass::JavaClass):
2269 * bridge/jni/jni_instance.cpp:
2270 (JavaInstance::stringValue):
2271 (JavaInstance::numberValue):
2272 (JavaInstance::booleanValue):
2273 (JavaInstance::invokeMethod):
2274 * bridge/jni/jni_jsobject.cpp:
2275 (JavaJSObject::convertJObjectToValue):
2276 * bridge/jni/jni_runtime.cpp:
2277 (JavaField::JavaField):
2278 (JavaMethod::JavaMethod):
2279 * bridge/jni/jni_utility.cpp:
2280 * bridge/jni/jni_utility.h:
2282 (KJS::Bindings::callJNIMethodIDA):
2283 (KJS::Bindings::callJNIMethodV):
2284 (KJS::Bindings::callJNIMethod):
2285 (KJS::Bindings::callJNIStaticMethod):
2287 2008-03-06 Darin Adler <darin@apple.com>
2291 - fix regression test failures from the visited-link change
2293 * WebCore.base.exp: Export PageGroup::setShouldTrackVisitedLinks.
2294 * page/PageGroup.cpp:
2295 (WebCore::PageGroup::addVisitedLink): Do nothing and return early
2296 if shouldTrackVisitedLinks is false.
2297 (WebCore::PageGroup::removeVisitedLinks): Reset m_visitedLinksPopulated
2298 so the next time a link is queried this will be populated from history.
2299 (WebCore::PageGroup::setShouldTrackVisitedLinks): Added.
2300 * page/PageGroup.h: Added setShouldTrackVisitedLinks. This is global
2301 for now, but it would be better if it was per-page-group instead.
2303 2008-03-06 Adele Peterson <adele@apple.com>
2307 Fixes for for <rdar://problem/5785892> Implement activeElement attribute for HTMLDocument (HTML5)
2308 and <rdar://problem/5785895> Implement hasFocus() for HTMLDocument (HTML5)
2310 Tests: fast/dom/HTMLDocument/activeElement.html
2311 fast/dom/HTMLDocument/hasFocus.html
2313 * html/HTMLDocument.cpp:
2314 (WebCore::HTMLDocument::activeElement): Added. Returns the focused element, or the body element if nothing's focused.
2315 (WebCore::HTMLDocument::hasFocus): Added. Returns whether or not the document has focus (inclusive of sub-frames).
2316 * html/HTMLDocument.h: Added methods for activeElement and hasFocus.
2317 * html/HTMLDocument.idl: Added definitions for activeElement and hasFocus.
2319 2008-03-06 Dan Bernstein <mitz@apple.com>
2321 Reviewed by Darin Adler.
2323 - fix <rdar://problem/5741981> 154008 WebKit: Some asian language font glyphs are not shown (in Mail and Entourage)
2325 Test: fast/text/soft-hyphen-3.html
2327 * rendering/bidi.cpp:
2328 (WebCore::checkMidpoints):
2329 (WebCore::RenderBlock::findNextLineBreak): Made 'pos' unsigned. Made the
2330 midpoint after a hyphen always be a valid iterator, not allowing an
2331 offset past the end of a text node. Changed the check for consecutive
2332 soft hyphens to account for that.
2334 2008-03-06 Darin Adler <darin@apple.com>
2336 - try to fix Wx build
2338 * WebCoreSources.bkl: Added PageGroup.cpp.
2340 2008-03-06 Darin Adler <darin@apple.com>
2344 * GNUmakefile.am: Added PageGroup.cpp.
2345 * WebCore.base.exp: Removed WebCoreHistory.
2346 * WebCore.pro: Added PageGroup.cpp.
2348 2008-03-06 Alexey Proskuryakov <ap@webkit.org>
2352 <rdar://problem/5687269> Need to create a Collator abstraction for WebCore and JavaScriptCore
2354 * ForwardingHeaders/wtf/unicode/Collator.h: Added.
2355 * xml/XSLTUnicodeSort.cpp:
2356 (WebCore::xsltUnicodeSortFunction):
2357 * xml/XSLTUnicodeSort.h:
2359 2008-03-06 Darin Adler <darin@apple.com>
2363 - fix http://bugs.webkit.org/show_bug.cgi?id=17526
2364 REGRESSION: iframes are added to Safari's History menu
2365 by separating the visited link machinery from global history
2367 This should also make page loading faster due to more efficient visited link coloring.
2369 * WebCore.base.exp: Updated.
2370 * WebCore.vcproj/WebCore.vcproj: Added PageGroup.h/cpp, removed GlobalHistory.h/cpp.
2371 * WebCore.xcodeproj/project.pbxproj: Ditto. Also removed WebCoreHistory.h/m.
2373 * css/CSSStyleSelector.cpp: Updated includes.
2374 (WebCore::CSSStyleSelector::initElementAndPseudoState): Eliminated code to set
2376 (WebCore::checkPseudoState): Moved most of the code inside a new
2377 PageGroup::isLinkVisited function.
2378 (WebCore::CSSStyleSelector::canShareStyleWithElement): Tightened code a bit by using
2379 references and only getting colors when needed.
2380 (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Ditto.
2381 * css/CSSStyleSelector.h: Removed EncodedURL, m_encodedURL, and setEncodedURL.
2384 (WebCore::Document::attach): Removed call to setEncodedURL.
2385 (WebCore::Document::setURL): Ditto.
2386 (WebCore::Document::recalcStyleSelector): Ditto.
2388 * loader/FrameLoader.cpp:
2389 (WebCore::FrameLoader::addBackForwardItemClippedAtTarget): Changed code to use
2390 early exit idiom to be a little more readable.
2391 (WebCore::FrameLoader::urlsMatchItem): Change to use a reference for slightly
2393 (WebCore::FrameLoader::goToItem): Use early exit idiom to be a little more
2395 (WebCore::FrameLoader::updateHistoryForStandardLoad): Moved history code back
2396 in here and got rid of the helper function updateGlobalHistory, restoring the
2397 logic before r30549. Also added a call to the new addVisitedLink function.
2398 (WebCore::FrameLoader::updateHistoryForClientRedirect): Added code to call
2399 addVisitedLink here.
2400 (WebCore::FrameLoader::updateHistoryForBackForwardNavigation): Removed comment.
2401 (WebCore::FrameLoader::updateHistoryForReload): Removed call to
2402 updateGlobalHistory; we can just go without updating global history or
2403 visited links here, at least for now, since it's not clear that a reload
2404 is a "history event".
2405 (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory): Moved
2406 history code back where it was, and added the call to addVisitedLink, just
2407 as in updateHistoryForStandardLoad above.
2408 * loader/FrameLoader.h: Removed updateGlobalHistory function.
2411 (WebCore::ChromeClient::populateVisitedLinks): Added. Empty placeholder so we
2412 don't have to implement this for every port all at once.
2413 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): Changed to use the
2414 new PageGroup class.
2415 * page/ChromeClient.h: Added populateVisitedLinks function, used to fill the
2416 visited links set from the global history at application startup time.
2418 * page/FrameTree.cpp:
2419 (WebCore::FrameTree::find): Updated to use the new PageGroup class.
2421 * page/GlobalHistory.h: Removed.
2422 * page/win/GlobalHistoryWin.cpp: Removed.
2423 * page/mac/GlobalHistoryMac.mm: Removed.
2424 * platform/mac/WebCoreHistory.h: Removed.
2425 * platform/mac/WebCoreHistory.m: Removed.
2426 * platform/win/WebCoreHistory.cpp: Removed.
2427 * platform/win/WebCoreHistory.h: Removed.
2430 (WebCore::Page::Page): Set m_group to 0.
2431 (WebCore::Page::setGroupName): Set up m_group. If the page is not in any
2432 group, set it to 0 for now to postpone the cost of creating a group.
2433 (WebCore::Page::initGroup): Added. Sets m_group to point to a single-page
2434 group; used when getting a group.
2435 (WebCore::Page::removeAllVisitedLinks): Added. Calls removeVisitedLinks
2437 * page/Page.h: Moved enums inside the WebCore namespace. Removed the
2438 frameNamespace function and instead added the group and groupPtr functions.
2440 * page/PageGroup.cpp: Added. Contains all the visited code from the
2441 CSSStyleSelector in the isVisitedLink function, but more efficient because
2442 we don't allocate memory for the buffer.
2443 * page/PageGroup.h: Added.
2445 * platform/gtk/TemporaryLinkStubs.cpp: Removed historyContains.
2446 * platform/qt/TemporaryLinkStubs.cpp: Removed unneeded include.
2447 * platform/wx/TemporaryLinkStubs.cpp: Removed historyContains.
2449 2008-03-06 Mark Rowe <mrowe@apple.com>
2451 Fix 64-bit Mac build.
2453 * WebCore.xcodeproj/project.pbxproj: Exclude _NPN symbols from the exports list as they
2454 are compiled out of 64-bit builds.
2456 2008-03-06 Mark Rowe <mrowe@apple.com>
2462 2008-03-05 Kevin Ollivier <kevino@theolliviers.com>
2464 Fix the wx build after the bindings move.
2466 * WebCoreSources.bkl:
2470 2008-03-05 Dan Bernstein <mitz@apple.com>
2472 Reviewed by Adele Peterson.
2474 - fix "background-position: inherit"
2476 * css/CSSStyleSelector.cpp:
2477 Made HANDLE_MULTILAYER_INHERIT_AND_INITIAL fall through and added
2478 a return statement in HANDLE_MULTILAYER_VALUE. Also removed an unused
2481 2008-03-05 Alp Toker <alp@atoker.com>
2483 Add a missing make dependency for derived sources to improve
2484 autotools build dependency tracking.
2486 Issue spotted by Ori Bernstein.
2490 2008-03-05 Alp Toker <alp@atoker.com>
2492 GTK+ build fix for breakage introduced in r30800.
2494 Track moved bridge sources from JavaScriptCore to WebCore.
2498 2008-03-05 Justin Garcia <justin.garcia@apple.com>
2502 One part of fix for:
2503 <rdar://problem/5780697> Copying content with percentage based rules in a style sheet will cause fidelity issues
2505 * editing/markup.cpp:
2506 (WebCore::appendStartMarkup): Styles from matched rules should take precedence over those in
2507 inline style declarations, not the other way around.
2509 2008-03-05 Anders Carlsson <andersca@apple.com>
2513 Move JNI specific code from runtime_root over to jni_jsobject, where it is used.
2515 * bridge/jni/jni_jsobject.cpp:
2516 (completedJavaScriptAccess):
2517 (initializeJavaScriptAccessLock):
2518 (lockJavaScriptAccess):
2519 (unlockJavaScriptAccess):
2520 (dispatchToJavaScriptThread):
2521 (performJavaScriptAccess):
2522 (JavaJSObject::initializeJNIThreading):
2523 (isJavaScriptThread):
2524 (JavaJSObject::invoke):
2525 * bridge/jni/jni_jsobject.h:
2526 * bridge/runtime_root.cpp:
2527 * bridge/runtime_root.h:
2528 * page/mac/WebCoreFrameBridge.mm:
2529 (-[WebCoreFrameBridge init]):
2531 2008-03-05 Darin Adler <darin@apple.com>
2535 - add functions giving offsets within a KURL, slated to replace the
2536 EncodedURL object in CSSStyleSelector (in a future "visited link" change)
2537 - changed all KURL data members names to use the traditional m_ prefix
2538 - initialize all members to 0 in invalid KURLs rather than having all
2539 functions check m_isValid
2541 * platform/KURL.cpp:
2542 (WebCore::KURL::invalidate): Added. Initializes all the fields except for
2543 m_string to the "invalid" values. For use in the empty constructor and
2544 in the init and parse functions.
2545 (WebCore::KURL::init): Tweaked comments. Changed all code paths that return
2546 early to use the invalidate() function. Updated for member variable name
2548 (WebCore::KURL::hasPath): Updated for member variable name changes.
2549 Remove now-unneeded check of m_isValid.
2550 (WebCore::KURL::lastPathComponent): Ditto.
2551 (WebCore::KURL::protocol): Ditto.
2552 (WebCore::KURL::host): Ditto.
2553 (WebCore::KURL::port): Ditto.
2554 (WebCore::KURL::pass): Ditto.
2555 (WebCore::KURL::user): Ditto.
2556 (WebCore::KURL::ref): Ditto.
2557 (WebCore::KURL::hasRef): Ditto.
2558 (WebCore::KURL::protocolIs): Ditto.
2559 (WebCore::KURL::query): Ditto.
2560 (WebCore::KURL::path): Ditto.
2561 (WebCore::KURL::setProtocol): Ditto.
2562 (WebCore::KURL::setHost): Ditto.
2563 (WebCore::KURL::setPort): Ditto.
2564 (WebCore::KURL::setHostAndPort): Ditto.
2565 (WebCore::KURL::setUser): Ditto.
2566 (WebCore::KURL::setPass): Ditto.
2567 (WebCore::KURL::setRef): Ditto.
2568 (WebCore::KURL::setQuery): Ditto.
2569 (WebCore::KURL::setPath): Ditto.
2570 (WebCore::KURL::prettyURL): Ditto.
2571 (WebCore::copyPathRemovingDots): Removed braces to match our code style.
2572 (WebCore::KURL::parse): Changed all code paths that return early to use
2573 the invalidate function. Moved code to set m_isValid to true to the very
2574 end of the function. Removed braces to match our code style. Removed an
2575 extra copy of the path/query/fragment code (there were two identical copies
2576 in the two sides of an if statement). Removed some commented-out code.
2577 Reversed an if statment. Added code to set the new m_pathAfterLastSlash
2578 field. Updated for member variable name changes.
2579 (WebCore::equalIgnoringRef): Updated for member variable name changes.
2580 (WebCore::KURL::isHierarchical): Ditto.
2582 * platform/KURL.h: Added a FIXME about ref vs. fragment. Made the empty
2583 constructor inline and called the new invalidate function. Added new
2584 pathStart, pathEnd, and pathAfterLastSlash functions, for use in the
2585 new visited link code. Added an invalidate function. Renamed all the
2586 data members to use the m_ prefix.
2588 * WebCore.base.exp: Updated.
2590 2008-03-05 Anders Carlsson <andersca@apple.com>
2594 * WebCore.xcodeproj/project.pbxproj:
2595 Change jni_jsobject.cpp to be Obj-C++ for now. The plan is to merge
2596 this with jni_objc.mm and create jni_jsobject.mm.
2598 * bridge/jni/jni_jsobject.cpp:
2600 Move createRootObject here from WebCoreFrameBridge.
2602 (JavaJSObject::createNative):
2603 Call the newly added createRootObject function.
2605 * bridge/runtime_root.cpp:
2606 (KJS::Bindings::RootObject::initializeJNIThreading):
2607 * bridge/runtime_root.h:
2608 setCreateRootObject no longer takes a root object, rename it to initializeJNIThreading.
2610 * page/mac/FrameMac.mm:
2611 (WebCore::Frame::createScriptInstanceForWidget):
2612 Just call Frame::createRootObject here.
2614 * page/mac/WebCoreFrameBridge.mm:
2615 (-[WebCoreFrameBridge init]):
2616 Call initializeJNIThreading.
2618 2008-03-05 Anders Carlsson <andersca@apple.com>
2622 Change some static class variables to be regular static variables,
2623 making it easier to move the chunk of mac-specific code out of runtime_root.[cpp|h]
2625 * bridge/runtime_root.cpp:
2626 (KJS::Bindings::completedJavaScriptAccess):
2627 (KJS::Bindings::RootObject::dispatchToJavaScriptThread):
2628 (KJS::Bindings::performJavaScriptAccess):
2629 (KJS::Bindings::RootObject::createRootObject):
2630 (KJS::Bindings::RootObject::runLoop):
2631 (KJS::Bindings::RootObject::setCreateRootObject):
2632 * bridge/runtime_root.h:
2634 2008-03-05 Brent Fulgham <bfulgham@gmail.com>
2636 Reviewed by Adam Roben.
2638 Modify source files to use the USE(SAFARI_THEME) macro, rather than
2639 USE_SAFARI_THEME. (http://bugs.webkit.org/show_bug.cgi?id=17683)
2641 * WebCore/platform/win/PlatformScrollBarSafari.cpp
2642 * WebCore/rendering/RenderThemeSafari.cpp
2643 * WebCore/rendering/RenderThemeSafari.h
2644 * config.h: Move definition of WTF_USE_SAFARI_THEME here
2646 2008-03-05 Brady Eidson <beidson@apple.com>
2648 Reviewed by Alexey and Mark Rowe
2650 Fix for <rdar://problem/5778247> - Reproducible crash on storage/execute-sql-args.html
2652 DatabaseThread::unscheduleDatabaseTasks() manually filters through a MessageQueue,
2653 removing particular items for Databases that were shutting down.
2655 This filtering operation is not atomic, and therefore causes a race condition with the
2656 database thread waking up and reading from the message queue.
2658 The end result was an attempt to dereference a null DatabaseTask. Timing-wise, this never
2659 seemed to happen in a debug build, otherwise an assertion would've caught it. Replacing that
2660 assertion with a crash in a release build is what revealed this bug.
2662 The fix for the above symptom was entirely in WTF::MessageQueue in JSCore. With this fix in
2663 place, another crash popped up in the layout tests that was related to dereferencing a
2664 deallocated object - simply because SQLTransaction had a raw pointer to it's Database object
2665 when it needed to be a ref pointer.
2667 * storage/SQLTransaction.cpp:
2668 (WebCore::SQLTransaction::runCurrentStatement):
2669 * storage/SQLTransaction.h: Change m_database to be a RefPtr
2670 (WebCore::SQLTransaction::database):
2672 2008-03-05 Mark Rowe <mrowe@apple.com>
2676 * WebCore.base.exp: Remove symbol that no longer exists from the exports file.
2678 2008-03-05 Adam Roben <aroben@apple.com>
2680 Export a header/symbol for WebKit
2682 Reviewed by Kevin M.
2685 * WebCore.xcodeproj/project.pbxproj:
2687 2008-03-05 Adam Roben <aroben@apple.com>
2689 Move WebCoreScriptDebugger up to WebKit
2693 * WebCore.base.exp: Exported some functions used by
2694 WebCoreScriptDebugger, and sorted the list.
2695 * WebCore.xcodeproj/project.pbxproj: Removed
2696 WebCoreScriptDebugger.{h,mm} from the project and marked
2697 a few headers private so that WebKit can use them.
2698 * page/mac/WebCoreScriptDebugger.h: Removed.
2699 * page/mac/WebCoreScriptDebugger.mm: Removed.
2701 2008-03-05 Anders Carlsson <andersca@apple.com>
2703 Build bridge/. Copy some headers over to WebKit as part of the post-build step.
2705 * WebCore.vcproj/WebCore.vcproj:
2707 2008-03-05 Anders Carlsson <andersca@apple.com>
2712 Add the NPN and KJS methods.
2714 * WebCore.xcodeproj/project.pbxproj:
2718 Add HAVE_JNI define.
2720 * bindings/js/kjs_html.cpp:
2721 * bindings/objc/DOMInternal.mm:
2722 * bindings/objc/DOMUtility.mm:
2723 * bindings/objc/WebScriptObject.mm:
2724 * html/HTMLAppletElement.cpp:
2725 * html/HTMLEmbedElement.cpp:
2726 * html/HTMLObjectElement.cpp:
2727 * html/HTMLPlugInElement.cpp:
2729 * page/mac/FrameMac.mm:
2730 * page/mac/WebCoreFrameBridge.mm:
2731 * page/mac/WebCoreScriptDebugger.mm:
2732 * plugins/win/PluginViewWin.cpp:
2733 Include file changes.
2735 2008-03-04 Anders Carlsson <andersca@apple.com>
2739 Rewrite NPRuntime string conversion routines to use WebCore::String
2741 * bridge/NP_jsobject.cpp:
2743 * bridge/c/c_utility.cpp:
2744 (KJS::Bindings::convertUTF8ToUTF16WithLatin1Fallback):
2745 (KJS::Bindings::convertNPVariantToValue):
2746 (KJS::Bindings::convertNPStringToUTF16):
2747 (KJS::Bindings::identifierFromNPIdentifier):
2748 * bridge/c/c_utility.h:
2750 2008-03-05 Oliver Hunt <oliver@apple.com>
2752 Reviewed by Alexey P.
2754 Small performance improvement to putImageData (3-5% on assignment in my tests)
2756 * html/CanvasPixelArray.h:
2757 (WebCore::CanvasPixelArray::set):
2759 2008-03-04 Sam Weinig <sam@webkit.org>
2763 * bindings/js/JSXMLHttpRequest.h: Remove unnecessary override of toBoolean.
2765 2008-03-04 Maciej Stachowiak <mjs@apple.com>
2767 Reviewed by Sam and Oliver.
2769 - fixed http://bugs.webkit.org/show_bug.cgi?id=16289
2770 - fixed Acid3 tests 26 and 27 (not exactly the same issue but related)
2772 * bindings/js/JSNodeCustom.cpp:
2773 (WebCore::JSNode::mark): When marking a node that's in-document,
2774 mark the owner document if it hasn't been already. This means holding on
2775 to a single node from an unreferenced document now keeps the whole document alive.
2777 We are now at 90/100 on Acid3.
2779 2008-03-04 Sam Weinig <sam@webkit.org>
2783 * page/qt/FrameQt.cpp:
2785 2008-03-04 Sam Weinig <sam@webkit.org>
2787 Reviewed by Mark Rowe.
2789 Rename kjs_window to JSDOMWindowBase.
2791 - Remove all unnecessary includes of JSDOMWindowBase.h, we prefer including
2795 * DerivedSources.make:
2798 * WebCore.vcproj/WebCore.vcproj:
2799 * WebCore.xcodeproj/project.pbxproj:
2800 * WebCoreSources.bkl:
2801 * bindings/js/JSCustomVoidCallback.cpp:
2802 * bindings/js/JSCustomXPathNSResolver.cpp:
2803 * bindings/js/JSDOMWindowBase.cpp: Copied from bindings/js/kjs_window.cpp.
2804 * bindings/js/JSDOMWindowBase.h: Copied from bindings/js/kjs_window.h.
2805 * bindings/js/JSDOMWindowCustom.cpp:
2806 * bindings/js/JSDatabaseCustom.cpp:
2807 * bindings/js/JSEventTargetBase.cpp:
2808 * bindings/js/JSEventTargetBase.h:
2809 * bindings/js/JSEventTargetNode.cpp:
2810 * bindings/js/JSHTMLDocumentCustom.cpp:
2811 * bindings/js/JSHTMLFrameSetElementCustom.cpp:
2812 * bindings/js/JSHistoryCustom.cpp:
2813 * bindings/js/JSLocation.cpp:
2814 * bindings/js/JSSQLTransactionCustom.cpp:
2815 * bindings/js/JSXMLHttpRequest.cpp:
2816 * bindings/js/ScheduledAction.cpp:
2817 * bindings/js/kjs_binding.cpp:
2818 * bindings/js/kjs_events.cpp:
2819 * bindings/js/kjs_navigator.cpp:
2820 * bindings/js/kjs_proxy.cpp:
2821 * bindings/js/kjs_window.cpp: Removed.
2822 * bindings/js/kjs_window.h: Removed.
2823 * bindings/scripts/CodeGeneratorJS.pm:
2824 * history/CachedPage.cpp:
2825 * loader/FrameLoader.cpp:
2827 * page/InspectorController.cpp:
2828 * page/mac/FrameMac.mm:
2829 * page/mac/WebCoreFrameBridge.mm:
2830 * page/qt/FrameQt.cpp:
2831 * page/win/FrameWin.cpp:
2832 * plugins/win/PluginViewWin.cpp:
2834 2008-03-04 Mark Rowe <mrowe@apple.com>
2836 Speculative Qt build fix.
2838 * platform/qt/PasteboardQt.cpp:
2840 2008-03-04 Anders Carlsson <andersca@apple.com>
2844 Update include paths. This code is not used yet.
2846 * bridge/NP_jsobject.cpp:
2847 * bridge/c/c_class.cpp:
2848 * bridge/c/c_instance.cpp:
2849 * bridge/c/c_utility.cpp:
2850 (KJS::Bindings::convertUTF8ToUTF16WithLatin1Fallback):
2851 #if 0 this out for now.
2853 * bridge/jni/jni_class.cpp:
2854 * bridge/jni/jni_jsobject.cpp:
2855 * bridge/jni/jni_objc.mm:
2856 * bridge/jni/jni_runtime.cpp:
2857 * bridge/jni/jni_utility.cpp:
2858 * bridge/jni/jni_utility.h:
2859 * bridge/npruntime.cpp:
2860 * bridge/objc/WebScriptObject.h:
2861 * bridge/objc/objc_class.h:
2862 * bridge/objc/objc_instance.h:
2863 * bridge/objc/objc_runtime.h:
2864 * bridge/objc/objc_utility.h:
2865 * bridge/objc/objc_utility.mm:
2866 * bridge/runtime.cpp:
2868 * bridge/runtime_array.cpp:
2869 * bridge/runtime_array.h:
2870 * bridge/runtime_method.cpp:
2871 * bridge/runtime_method.h:
2872 * bridge/runtime_object.cpp:
2873 * bridge/runtime_object.h:
2874 * bridge/runtime_root.cpp:
2875 * bridge/runtime_root.h:
2877 2008-03-04 Dan Bernstein <mitz@apple.com>
2879 Reviewed by Darin Adler.
2881 - fix http://bugs.webkit.org/show_bug.cgi?id=17676
2882 <rdar://problem/5781091> REGRESSION (r30240-r30267): href attribute values with non-ASCII characters in the host part do not work
2884 Test: fast/encoding/url-host-name-non-ascii.html
2886 * platform/KURL.cpp:
2887 (WebCore::appendEncodedHostname): Added an early return in the all-ASCII
2888 case to avoid copying the host name twice and corrected the error
2889 checking after calling uidna_IDNToASCII().
2891 2008-03-04 Sam Weinig <sam@webkit.org>
2893 Reviewed by Dan Bernstein.
2895 Use JSDOMWindow exclusively instead of JSDOMWindowBase.
2897 * bindings/js/ScheduledAction.cpp:
2898 (WebCore::ScheduledAction::execute):
2899 * bindings/js/ScheduledAction.h:
2900 * bindings/js/kjs_window.cpp:
2901 (WebCore::JSDOMWindowBase::timerFired):
2903 2008-03-04 Timothy Hatcher <timothy@apple.com>
2905 Reviewed by Darin Adler.
2907 <rdar://problem/5720160> Browser windows "do nothing" while modal
2908 dialog or menu is up due to run loop modes (or while scrolling)
2910 Adds a new SchedulePair object that holds a runloop and the mode to use.
2911 A HashSet of SchedulePairs is tracked by Page so it can be used for resource
2912 loading and, in the future, maybe SharedTimerMac.
2914 * WebCore.base.exp: Add new exports for WebKit.
2915 * WebCore.xcodeproj/project.pbxproj: Add new files.
2916 * loader/mac/DocumentLoaderMac.cpp: Added.
2917 (WebCore::scheduleAll): Call schedule all the ResourceLoader handles.
2918 (WebCore::unscheduleAll): Call unschedule all the ResourceLoader handles.
2919 (WebCore::DocumentLoader::schedule): Schedule all the ResourceLoaders owned by the DocumentLoader.
2920 (WebCore::DocumentLoader::unschedule): Unschedule all the ResourceLoaders owned by the DocumentLoader.
2921 * loader/DocumentLoader.h:
2923 (WebCore::Page::scheduledRunLoopPairs): Return m_scheduledRunLoopPairs.
2924 * page/mac/PageMac.cpp:
2925 (WebCore::Page::addSchedulePair): Add a SchedulePair to m_scheduledRunLoopPairs.
2926 (WebCore::Page::removeSchedulePair): Removes a SchedulePair from m_scheduledRunLoopPairs.
2927 * platform/cf/SchedulePair.cpp: Added.
2928 * platform/cf/SchedulePair.h: Added.
2929 * platform/mac/SchedulePairMac.mm: Added.
2930 * platform/network/ResourceHandle.h:
2931 * platform/network/mac/FormDataStreamMac.mm:
2932 (WebCore::advanceCurrentStream): Use the new SchedulePair.
2933 (WebCore::formCreate): Ditto.
2934 (WebCore::formFinalize): Ditto.
2935 (WebCore::formSchedule): Ditto.
2936 (WebCore::formUnschedule): Ditto.
2937 * platform/network/mac/ResourceHandleMac.mm:
2938 (WebCore::ResourceHandle::start): Schedule the connection with all the SchedulePairs
2939 that Page holds. If Page has no SchedulePairs, schedule with the current runloop, and
2940 pick the mode based on ResourceHandle::loadsDuringCommonRunLoopModes.
2941 (WebCore::ResourceHandle::schedule):
2942 (WebCore::ResourceHandle::unschedule):
2944 2008-03-04 Sam Weinig <sam@webkit.org>
2946 Reviewed by Darin Adler.
2948 Rename kjs_css to JSRGBColor.
2950 * DerivedSources.make:
2953 * WebCore.vcproj/WebCore.vcproj:
2954 * WebCore.xcodeproj/project.pbxproj:
2955 * WebCoreSources.bkl:
2956 * bindings/js/JSRGBColor.cpp: Copied from bindings/js/kjs_css.cpp.
2957 * bindings/js/JSRGBColor.h: Copied from bindings/js/kjs_css.h.
2958 * bindings/js/kjs_css.cpp: Removed.
2959 * bindings/js/kjs_css.h: Removed.
2960 * bindings/js/kjs_window.cpp:
2961 * bindings/objc/DOMUtility.mm:
2962 * bindings/scripts/CodeGeneratorJS.pm:
2964 2008-03-04 Anders Carlsson <andersca@apple.com>
2968 * html/HTMLPlugInElement.cpp:
2970 2008-03-04 Nikolas Zimmermann <zimmermann@kde.org>
2972 Reviewed by Eric & David.
2974 Fixes: http://bugs.webkit.org/show_bug.cgi?id=17078
2976 Fix getSubStringLength() handling, verified by Acid3 test 77.
2977 Brings up Acid3 score to 88/100.
2979 Added test: svg/custom/acid3-test-77.html
2980 svg/custom/getSubStringLength.html
2982 * svg/SVGTextContentElement.cpp:
2983 (WebCore::cummulatedCharacterRangeLength): Simplify some code.
2984 (WebCore::SVGTextContentElement::getSubStringLength):
2986 2008-03-04 Anders Carlsson <andersca@apple.com>
2988 Mac build fix. Neither me, Sam nor Adam know why we need to do this though :(
2990 * bindings/js/kjs_proxy.cpp:
2991 (WebCore::KJSProxy::attachDebugger):
2993 (WebCore::Page::setDebuggerForAllPages):
2994 (WebCore::Page::setDebugger):
2996 2008-03-04 Adam Roben <aroben@apple.com>
2998 Add ExecState.h to ForwardingHeaders
3002 * ForwardingHeaders/kjs/ExecState.h: Added.
3003 * page/Page.cpp: Touch this to force WebCore to build and the headers
3006 2008-03-04 Adam Roben <aroben@apple.com>
3008 Make it possible to set a KJS::Debugger on all Frames in a Page and
3009 all Pages in the process
3011 Reviewed by Kevin M.
3013 * ForwardingHeaders/kjs/debugger.h: Added.
3014 * bindings/js/kjs_proxy.cpp:
3015 (WebCore::KJSProxy::initScript): Attach the Page's debugger if there
3017 (WebCore::KJSProxy::attachDebugger): Attach the passed-in debugger, or
3018 detach any existing debugger if none was passed in.
3019 * bindings/js/kjs_proxy.h:
3021 (WebCore::Page::Page): Initialize new member.
3022 (WebCore::Page::setDebuggerForAllPages): Call setDebugger on each Page
3024 (WebCore::Page::setDebugger): Store the debugger and pass it off to
3028 2008-03-04 Sam Weinig <sam@webkit.org>
3030 Reviewed by Darin Adler.
3032 Add ClassInfo to custom constructors so that they toString properly
3034 - Take this chance to remove the "Imp" from the end of JSXMLHttpRequestConstructorImp,
3035 and XSLTProcessorConstructorImp and prefix all the classes with JS.
3037 * bindings/js/JSAudioConstructor.cpp:
3038 (WebCore::): Added ClassInfo definition.
3039 (WebCore::JSAudioConstructor::JSAudioConstructor):
3040 (WebCore::JSAudioConstructor::construct): Cleanup.
3041 * bindings/js/JSAudioConstructor.h: Rename m_doc to m_document.
3042 (WebCore::JSAudioConstructor::classInfo): Added.
3044 * bindings/js/JSHTMLInputElementBase.cpp: Rename HTMLInputElementBasePrototype
3045 to JSHTMLInputElementBasePrototype as seen if toString'ed.
3048 * bindings/js/JSHTMLOptionElementConstructor.cpp:
3049 (WebCore::): Added ClassInfo definition.
3050 * bindings/js/JSHTMLOptionElementConstructor.h:
3051 (WebCore::JSHTMLOptionElementConstructor::classInfo): Added.
3053 * bindings/js/JSImageConstructor.cpp:
3054 (WebCore::): Added ClassInfo definition.
3055 (WebCore::JSImageConstructor::implementsConstruct): Moved here from header.
3056 * bindings/js/JSImageConstructor.h:
3057 (WebCore::JSImageConstructor::classInfo): Added.
3059 * bindings/js/JSXMLHttpRequest.cpp:
3060 (WebCore::): Rename XMLHttpRequestPrototype to JSXMLHttpRequestPrototype
3061 as seen if toString'ed.
3062 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
3063 (WebCore::JSXMLHttpRequestConstructor::implementsConstruct):
3064 (WebCore::JSXMLHttpRequestConstructor::construct):
3065 * bindings/js/JSXMLHttpRequest.h: Renamed JSXMLHttpRequestConstructorImp to
3066 JSXMLHttpRequestConstructor and doc to m_document and
3067 (WebCore::JSXMLHttpRequestConstructor::classInfo): Added.
3069 * bindings/js/JSXSLTProcessor.cpp:
3070 (WebCore::): Renamed XSLTProcessorPrototype to JSXSLTProcessorPrototype and
3071 XSLTProcessorConstructorImp to JSXSLTProcessorConstructor.
3072 (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
3073 (WebCore::JSXSLTProcessorConstructor::implementsConstruct):
3074 (WebCore::JSXSLTProcessorConstructor::construct):
3075 * bindings/js/JSXSLTProcessor.h:
3076 (WebCore::JSXSLTProcessorConstructor::classInfo): Added.
3078 * bindings/js/kjs_window.cpp:
3079 (WebCore::JSDOMWindowBase::getValueProperty): Fixed to work with the new class names.
3081 2008-03-04 Dan Bernstein <mitz@apple.com>
3083 Reviewed by Oliver Hunt and Geoffrey Garen.
3085 - fix http://bugs.webkit.org/show_bug.cgi?id=17667
3086 <rdar://problem/5779658> REGRESSION (r30587): Document::implicitClose() not called when done loading page (Image does not get scaled to fit)
3088 * loader/loader.cpp:
3089 (WebCore::Loader::didFinishLoading): Changed to call
3090 setLoadInProgress(false) even for 4xx errors, because that triggers
3091 load completion check.
3093 2008-03-04 Adele Peterson <adele@apple.com>
3097 Fix for <rdar://problem/5779718> focus() does not work for anchor elements with no content
3099 If an anchor has zero size, don't exclude it from being focusable from JS, just exclude it
3100 from being keyboard focusable (using the tab key).
3102 * html/HTMLAnchorElement.cpp:
3103 (WebCore::HTMLAnchorElement::isFocusable):
3104 (WebCore::HTMLAnchorElement::isKeyboardFocusable):
3106 2008-03-04 Chris Fleizach <cfleizach@apple.com>
3108 Reviewed by Darin Adler.
3110 - fix <rdar://problem/5119360> ER - Seed: Google results do not have AXHeading information
3112 * page/mac/WebCoreAXObject.mm:
3114 (-[WebCoreAXObject accessibilityIsIgnored]):
3116 2008-03-04 Sam Weinig <sam@webkit.org>
3122 2008-03-04 Sam Weinig <sam@webkit.org>
3124 Reviewed by Darin Adler.
3126 Remame ImageConstructorImp to JSImageConstructor and move it into its
3131 * WebCore.vcproj/WebCore.vcproj:
3132 * WebCore.xcodeproj/project.pbxproj:
3133 * WebCoreSources.bkl:
3134 * bindings/js/JSImageConstructor.cpp: Copied from bindings/js/kjs_html.cpp.
3135 (WebCore::JSImageConstructor::JSImageConstructor):
3136 (WebCore::JSImageConstructor::construct):
3137 * bindings/js/JSImageConstructor.h: Copied from bindings/js/kjs_html.h.
3138 * bindings/js/kjs_html.cpp:
3139 (WebCore::getRuntimeObject): Make this function static since it is only used
3141 * bindings/js/kjs_html.h:
3142 * bindings/js/kjs_window.cpp:
3143 (WebCore::JSDOMWindowBase::getValueProperty):
3145 2008-03-04 Adam Roben <aroben@apple.com>
3147 Fix an uninitialized value warning in CodeGeneratorJS.pm
3149 * bindings/scripts/CodeGeneratorJS.pm: Remove reference to
3150 non-existent $maybeOkParam (this was removed in r30753).
3152 2008-03-04 Sam Weinig <sam@webkit.org>
3154 Reviewed by Darin Adler.
3156 Remove kjs_dom.{h,cpp}.
3158 - Removed custom toAttr, which took a boolean ok, and teach CodeGeneratorJS.pm
3159 to us a null return value as an indication of failure. (This new logic is used
3160 for toVoidCallback as well.)
3161 - Move getRuntimeObject to kjs_html where a bunch of other runtime object related
3162 functions currently live.
3163 - Move checkNodeSecurity to kjs_binding, where other frame security functions
3165 - Remove getNodeConstructor. It had no implementation.
3169 * WebCore.vcproj/WebCore.vcproj:
3170 * WebCore.xcodeproj/project.pbxproj:
3171 * WebCoreSources.bkl:
3172 * bindings/js/JSAttrCustom.cpp:
3173 * bindings/js/JSCustomVoidCallback.cpp:
3174 (WebCore::toVoidCallback):
3175 * bindings/js/JSCustomVoidCallback.h:
3176 * bindings/js/JSDatabaseCustom.cpp:
3177 (WebCore::JSDatabase::changeVersion):
3178 (WebCore::JSDatabase::transaction):
3179 * bindings/js/JSElementCustom.cpp:
3180 (WebCore::JSElement::setAttributeNode):
3181 (WebCore::JSElement::setAttributeNodeNS):
3182 * bindings/js/JSEventTargetBase.cpp:
3184 * bindings/js/JSEventTargetBase.h:
3185 * bindings/js/JSHTMLAppletElementCustom.cpp:
3186 * bindings/js/JSHTMLElementCustom.cpp:
3187 * bindings/js/JSHTMLEmbedElementCustom.cpp:
3188 * bindings/js/JSHTMLFormElementCustom.cpp:
3189 * bindings/js/JSHTMLFrameElementCustom.cpp:
3190 * bindings/js/JSHTMLIFrameElementCustom.cpp:
3191 * bindings/js/JSHTMLObjectElementCustom.cpp:
3192 * bindings/js/JSNamedNodeMapCustom.cpp:
3193 * bindings/js/JSNamedNodesCollection.cpp:
3194 * bindings/js/JSNodeFilterCustom.cpp:
3195 * bindings/js/JSXSLTProcessor.cpp:
3196 * bindings/js/kjs_binding.cpp:
3197 (WebCore::checkNodeSecurity):
3198 * bindings/js/kjs_binding.h:
3199 * bindings/js/kjs_css.cpp:
3200 * bindings/js/kjs_dom.cpp: Removed.
3201 * bindings/js/kjs_dom.h: Removed.
3202 * bindings/js/kjs_events.cpp:
3203 * bindings/js/kjs_html.cpp:
3204 (WebCore::getRuntimeObject):
3205 * bindings/js/kjs_html.h:
3206 * bindings/js/kjs_window.cpp:
3207 * bindings/scripts/CodeGeneratorJS.pm:
3209 * html/HTMLPlugInElement.cpp:
3210 * page/InspectorController.cpp:
3212 2008-03-04 Adam Roben <aroben@apple.com>
3214 Win/Qt/GTK+/wx build fix after r30740
3216 * editing/Editor.cpp: Added missing #include.
3217 * page/qt/FrameQt.cpp: Removed Frame::dashboardRegionsChanged.
3218 * page/win/FrameWin.cpp: Ditto.
3219 * platform/wx/TemporaryLinkStubs.cpp: Ditto.
3221 2008-03-04 Alp Toker <alp@atoker.com>
3223 GTK+ build fix for breakage introduced in r30740.
3225 Remove Frame::dashboardRegionsChanged(). There's now a default
3226 implementation at ChromeClient::dashboardRegionsChanged().
3228 * page/gtk/FrameGtk.cpp:
3230 2008-03-04 Alp Toker <alp@atoker.com>
3232 GTK+ build fix suggested by aroben. Remove an unused Mac-specific
3233 included introduced in r30740.
3235 * page/ChromeClient.h:
3237 2008-03-04 Dan Bernstein <mitz@apple.com>
3239 Reviewed by Sam Weinig.
3241 - fix <rdar://problem/5622336> Burmese text does not render on http://www.myanmarbible.com/bible/Judson/html/index.html
3243 Test: platform/win/fast/text/uniscribe-missing-glyph.html
3245 Note that default installations of Windows do not have Myanmar fonts.
3246 What this patch does is ensure that the Myanmar and other complex
3247 scripts are rendered as missing glyphs rather than not rendered at all.
3248 The particular page in the bug measures the relative widths of two
3249 rendered strings and, if they are rendered as missing glyphs, detects
3250 that a Myanmar fonts is not available and substitutes the text with
3251 images. By not rendering (and measuring) missing glyphs, WebKit was
3252 throwing the page's detection code off.
3254 * platform/graphics/win/UniscribeController.cpp:
3255 (WebCore::UniscribeController::shape): Removed an early return in case
3256 shaping resulted in missing glyphs. This is now expected if font
3257 fallback failed to produce a font containing glyphs for the character.
3258 Also changed two resize()s to shrink()s.
3260 2008-03-04 Darin Adler <darin@apple.com>
3264 - remove WebCoreFrameBridge reapplyStyles method
3266 * WebCore.base.exp: Added exports.
3267 * page/mac/WebCoreFrameBridge.h: Removed WebCoreDeviceType and
3268 reapplyStylesForDeviceType: method.
3269 * page/mac/WebCoreFrameBridge.mm: Ditto.
3271 2008-03-04 Darin Adler <darin@apple.com>
3275 - eliminate WebCoreFrameBridge createFrameViewWithNSView
3277 * WebCore.base.exp: Added some more exports.
3278 * page/mac/WebCoreFrameBridge.h: Deleted createFrameViewWithNSView.
3279 * page/mac/WebCoreFrameBridge.mm: Ditto.
3281 2008-03-04 Darin Adler <darin@apple.com>
3285 - removed WebCoreFrameBridge scrollOverflowInDirection
3287 * WebCore.base.exp: Export function needed by WebKit.
3288 * page/mac/WebCoreFrameBridge.h: Removed WebScrollDirection, WebScrollGranularity,
3289 and scrollOverflowInDirection.
3290 * page/mac/WebCoreFrameBridge.mm: Removed method.
3292 2008-03-04 Darin Adler <darin@apple.com>
3296 - remove WebCoreFrameBridge installInFrame: method
3298 * WebCore.base.exp: Export a few symbols.
3299 * WebCore.xcodeproj/project.pbxproj: Export a few files.
3300 * page/mac/WebCoreFrameBridge.h: Remove installInFrame:.
3301 * page/mac/WebCoreFrameBridge.mm: Ditto.
3303 2008-03-04 Darin Adler <darin@apple.com>
3307 - remove WebCoreFrameBridge window method
3309 * page/mac/EventHandlerMac.mm:
3310 (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking): Get the window by calling
3311 window on the NSView instead of using the bridge. The WebKit side wasn't doing anything
3312 special, so a call to -[NSView window] is fine.
3314 * page/mac/WebCoreFrameBridge.h: Removed the window method.
3316 2008-03-04 Darin Adler <darin@apple.com>
3320 - remove -[WebCoreFrameBridge dashboardRegionsChanged:]
3322 * WebCore.base.exp: Updated.
3324 (WebCore::ChromeClient::dashboardRegionsChanged): Added.
3325 * page/ChromeClient.h: Added virtual function for dashboardRegionsChanged.
3326 * page/Frame.h: Removed dashboardRegionsChanged function.
3327 * page/FrameView.cpp:
3328 (WebCore::FrameView::updateDashboardRegions): Changed to call dashboardRegionsChanged
3329 on ChromeClient and to only call it when the regions actually changed.
3330 * page/mac/FrameMac.mm: Removed dashboardRegionsChanged function.
3331 * page/mac/WebCoreFrameBridge.h: Removed dashboardRegionsChanged: method.
3333 2008-03-04 Darin Adler <darin@apple.com>
3337 - remove WebCoreFrameBridge issuePasteComand method
3339 * editing/Editor.cpp:
3340 (WebCore::Editor::paste): Moved the Mac-specific part of this to EditorMac.
3341 * editing/mac/EditorMac.mm:
3342 (WebCore::Editor::paste): Added. Calls paste: on the document view (normally a
3343 WebHTMLView). We should get rid of this eventually.
3344 * page/Frame.h: Removed issuePasteCommand.
3345 * page/mac/FrameMac.mm: Ditto.
3346 * page/mac/WebCoreFrameBridge.h: Ditto.
3348 2008-03-04 Alexey Proskuryakov <ap@webkit.org>
3350 Suggested by Darin, rubber-stamped by Mark.
3352 http://bugs.webkit.org/show_bug.cgi?id=17569
3353 REGRESSION (r30571): Buzzword.com doesn't load
3355 Rolling out r30571, as determining what is wrong with it proved tricky.
3357 * loader/FrameLoader.cpp:
3358 (WebCore::FrameLoader::load):
3359 (WebCore::FrameLoader::tokenizerProcessedData):
3360 (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
3362 2008-03-04 Sam Weinig <sam@webkit.org>
3366 * bindings/js/kjs_events.cpp:
3368 2008-03-03 Sam Weinig <sam@webkit.org>
3370 Reviewed by Mark Rowe.
3372 Move JSClipboard into its own file.
3374 * DerivedSources.make:
3377 * WebCore.vcproj/WebCore.vcproj:
3378 * WebCore.xcodeproj/project.pbxproj:
3379 * WebCoreSources.bkl:
3380 * bindings/js/JSAttrCustom.cpp:
3381 * bindings/js/JSClipboardCustom.cpp: Added.
3382 (WebCore::JSClipboard::types):
3383 (WebCore::JSClipboard::clearData):
3384 (WebCore::JSClipboard::getData):
3385 (WebCore::JSClipboard::setData):
3386 (WebCore::JSClipboard::setDragImage):
3387 * bindings/js/JSElementCustom.cpp:
3388 * bindings/js/JSEventCustom.cpp:
3389 * bindings/js/JSHTMLFrameElementCustom.cpp:
3390 * bindings/js/JSHTMLIFrameElementCustom.cpp:
3391 * bindings/js/kjs_events.cpp:
3392 * bindings/js/kjs_events.h:
3393 * bindings/js/kjs_window.cpp:
3394 * bindings/scripts/CodeGeneratorJS.pm:
3395 * dom/Clipboard.cpp:
3396 (WebCore::Clipboard::setDropEffect):
3397 (WebCore::Clipboard::setEffectAllowed):
3398 * dom/Clipboard.idl: Added.
3400 2008-03-03 Sam Weinig <sam@webkit.org>
3405 * plugins/win/PluginViewWin.cpp:
3407 2008-03-03 Sam Weinig <sam@webkit.org>
3409 Reviewed by Darin Adler.
3411 Cleanup and plumbing in preparation for the great Window split.
3413 - Rename KJS::Window to WebCore::JSDOMWindowBase.
3414 - Remove KJS::Window::retrieve() and KJS::Window::retrieveWindow() and replace
3415 with the new toJSDOMWindow().
3416 - Remove KJS::Window::retrieveActive() and replace with explicit call to
3417 exec->dynamicGlobalObject() and toJSDOMWindow().
3419 * bindings/js/JSCustomVoidCallback.cpp:
3420 (WebCore::toVoidCallback):.
3421 * bindings/js/JSCustomXPathNSResolver.cpp:
3422 (WebCore::JSCustomXPathNSResolver::create):
3423 * bindings/js/JSDatabaseCustom.cpp:
3424 (WebCore::JSDatabase::changeVersion):
3425 (WebCore::JSDatabase::transaction):
3426 * bindings/js/JSDocumentCustom.cpp:
3427 (WebCore::JSDocument::location):
3429 * bindings/js/JSEventTargetBase.cpp:
3430 (WebCore::jsEventTargetAddEventListener):
3431 (WebCore::jsEventTargetRemoveEventListener):
3432 * bindings/js/JSEventTargetNode.cpp:
3433 (WebCore::JSEventTargetNode::setListener):
3434 * bindings/js/JSHTMLDocumentCustom.cpp:
3435 (WebCore::JSHTMLDocument::nameGetter):
3436 (WebCore::JSHTMLDocument::open):
3437 * bindings/js/JSHTMLFrameSetElementCustom.cpp:
3438 (WebCore::JSHTMLFrameSetElement::nameGetter):
3439 * bindings/js/JSLocation.cpp:
3440 (WebCore::JSLocation::put):
3441 (WebCore::jsLocationProtoFuncReplace):
3442 (WebCore::jsLocationProtoFuncReload):
3443 (WebCore::jsLocationProtoFuncAssign):
3444 * bindings/js/JSLocation.h:
3445 * bindings/js/JSSQLTransactionCustom.cpp:
3446 (WebCore::JSSQLTransaction::executeSql):
3447 * bindings/js/JSSVGLazyEventListener.cpp:
3448 (WebCore::JSSVGLazyEventListener::JSSVGLazyEventListener):
3449 (WebCore::JSSVGLazyEventListener::eventParameterName):
3450 * bindings/js/JSSVGLazyEventListener.h:
3451 * bindings/js/JSXMLHttpRequest.cpp:
3452 (WebCore::JSXMLHttpRequest::putValueProperty):
3453 (WebCore::jsXMLHttpRequestPrototypeFunctionOpen):
3454 (WebCore::jsXMLHttpRequestPrototypeFunctionAddEventListener):
3455 (WebCore::jsXMLHttpRequestPrototypeFunctionRemoveEventListener):
3456 * bindings/js/ScheduledAction.cpp:
3457 (WebCore::ScheduledAction::execute):
3458 * bindings/js/ScheduledAction.h:
3459 * bindings/js/kjs_binding.cpp:
3460 (WebCore::allowsAccessFromFrame):
3461 (WebCore::printErrorMessageForFrame):
3462 * bindings/js/kjs_events.cpp:
3463 (WebCore::JSAbstractEventListener::handleEvent):
3464 (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener):
3465 (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener):
3466 (WebCore::JSUnprotectedEventListener::windowObj):
3467 (WebCore::JSEventListener::JSEventListener):
3468 (WebCore::JSEventListener::~JSEventListener):
3469 (WebCore::JSEventListener::windowObj):
3470 (WebCore::JSLazyEventListener::JSLazyEventListener):
3471 (WebCore::JSLazyEventListener::parseCode):
3472 * bindings/js/kjs_events.h:
3473 * bindings/js/kjs_navigator.cpp:
3474 (WebCore::MimeType::getValueProperty):
3475 * bindings/js/kjs_proxy.cpp:
3476 (WebCore::KJSProxy::evaluate):
3477 (WebCore::KJSProxy::createHTMLEventHandler):
3478 (WebCore::KJSProxy::createSVGEventHandler):
3479 * bindings/js/kjs_window.cpp:
3480 (WebCore::JSDOMWindowBasePrivate::JSDOMWindowBasePrivate):
3481 (WebCore::DOMWindowTimer::DOMWindowTimer):
3482 (WebCore::DOMWindowTimer::action):
3483 (WebCore::DOMWindowTimer::takeAction):
3485 (WebCore::JSDOMWindowBase::JSDOMWindowBase):
3486 (WebCore::JSDOMWindowBase::~JSDOMWindowBase):
3487 (WebCore::JSDOMWindowBase::location):
3488 (WebCore::JSDOMWindowBase::mark):
3489 (WebCore::allowPopUp):
3490 (WebCore::createWindow):
3491 (WebCore::showModalDialog):
3492 (WebCore::JSDOMWindowBase::getValueProperty):
3493 (WebCore::JSDOMWindowBase::childFrameGetter):
3494 (WebCore::JSDOMWindowBase::indexGetter):
3495 (WebCore::JSDOMWindowBase::namedItemGetter):
3496 (WebCore::JSDOMWindowBase::getOwnPropertySlot):
3497 (WebCore::JSDOMWindowBase::put):
3498 (WebCore::JSDOMWindowBase::allowsAccessFrom):
3499 (WebCore::JSDOMWindowBase::allowsAccessFromNoErrorMessage):
3500 (WebCore::JSDOMWindowBase::allowsAccessFromPrivate):
3501 (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage):
3502 (WebCore::JSDOMWindowBase::printErrorMessage):
3503 (WebCore::JSDOMWindowBase::globalExec):
3504 (WebCore::JSDOMWindowBase::shouldInterruptScript):
3505 (WebCore::JSDOMWindowBase::setListener):
3506 (WebCore::JSDOMWindowBase::getListener):
3507 (WebCore::JSDOMWindowBase::findJSEventListener):
3508 (WebCore::JSDOMWindowBase::findOrCreateJSEventListener):
3509 (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener):
3510 (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener):
3511 (WebCore::JSDOMWindowBase::clearHelperObjectProperties):
3512 (WebCore::JSDOMWindowBase::clear):
3513 (WebCore::JSDOMWindowBase::setCurrentEvent):
3514 (WebCore::JSDOMWindowBase::currentEvent):
3515 (WebCore::windowProtoFuncAToB):
3516 (WebCore::windowProtoFuncBToA):
3517 (WebCore::windowProtoFuncOpen):
3518 (WebCore::windowProtoFuncSetTimeout):
3519 (WebCore::windowProtoFuncClearTimeout):
3520 (WebCore::windowProtoFuncSetInterval):
3521 (WebCore::windowProtoFuncAddEventListener):
3522 (WebCore::windowProtoFuncRemoveEventListener):
3523 (WebCore::windowProtoFuncShowModalDialog):
3524 (WebCore::windowProtoFuncNotImplemented):
3525 (WebCore::JSDOMWindowBase::setReturnValueSlot):
3526 (WebCore::JSDOMWindowBase::clearAllTimeouts):
3527 (WebCore::JSDOMWindowBase::installTimeout):
3528 (WebCore::JSDOMWindowBase::pauseTimeouts):
3529 (WebCore::JSDOMWindowBase::resumeTimeouts):
3530 (WebCore::JSDOMWindowBase::clearTimeout):
3531 (WebCore::JSDOMWindowBase::timerFired):
3532 (WebCore::JSDOMWindowBase::disconnectFrame):
3533 (WebCore::JSDOMWindowBase::jsEventListeners):
3534 (WebCore::JSDOMWindowBase::jsHTMLEventListeners):
3535 (WebCore::JSDOMWindowBase::jsUnprotectedEventListeners):
3536 (WebCore::JSDOMWindowBase::jsUnprotectedHTMLEventListeners):
3538 (WebCore::toJSDOMWindow):
3539 (WebCore::toJSDOMWindow):
3540 * bindings/js/kjs_window.h:
3541 (WebCore::JSDOMWindowBase::impl):
3542 (WebCore::JSDOMWindowBase::classInfo):
3543 (WebCore::JSDOMWindowBase::):
3544 * bindings/objc/DOMUtility.mm:
3545 (KJS::createDOMWrapper):
3546 * bindings/scripts/CodeGeneratorJS.pm:
3547 * history/CachedPage.cpp:
3548 (WebCore::CachedPage::CachedPage):
3549 (WebCore::CachedPage::restore):
3551 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
3552 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):