1 2011-02-24 Ilya Tikhonovsky <loislo@chromium.org>
3 Reviewed by Pavel Feldman.
5 Web Inspector: adjust protocol message format according to spec.
6 https://bugs.webkit.org/show_bug.cgi?id=55140
8 * inspector/CodeGeneratorInspector.pm:
10 2011-02-24 Adam Roben <aroben@apple.com>
12 Windows Production build fix
14 * platform/network/cf/AuthenticationCF.cpp: Add an extra #include as a workaround for
15 <rdar://problem/9042114>.
17 2011-02-23 Pavel Feldman <pfeldman@chromium.org>
19 Reviewed by Yury Semikhatsky.
21 Web Inspector: refactor inspect() workflow so that it did not push dom nodes.
22 https://bugs.webkit.org/show_bug.cgi?id=55057
24 Test: inspector/console/command-line-api-inspect.html
26 I am working on getting rid of DOM agent pushes - everything should happen upon
27 front-end request. This patch changes the way we handle inspect() command line
28 api: instead of pushing nodes, we are telling front-end that inspect(object) has
29 been requested. It is then up to front-end to request dom nodes and focus them in
30 the tree. I also made inspect() work in a generic manner, using same routines for
31 nodes, databases, storages and potentially new elements.
33 As a side-effect, we don't do console.log from within inspect() anymore, but dump
34 inspected value as inspect's result.
36 Also, I added individual object release method and made object groups optional.
38 * bindings/js/JSInjectedScriptHostCustom.cpp:
39 (WebCore::InjectedScriptHost::scriptValueAsNode):
40 (WebCore::InjectedScriptHost::nodeAsScriptValue):
41 (WebCore::JSInjectedScriptHost::inspect):
42 (WebCore::JSInjectedScriptHost::databaseId):
43 (WebCore::JSInjectedScriptHost::storageId):
44 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
45 (WebCore::InjectedScriptHost::scriptValueAsNode):
46 (WebCore::InjectedScriptHost::nodeAsScriptValue):
47 (WebCore::V8InjectedScriptHost::inspectCallback):
48 (WebCore::V8InjectedScriptHost::databaseIdCallback):
49 (WebCore::V8InjectedScriptHost::storageIdCallback):
50 * inspector/InjectedScript.cpp:
51 (WebCore::InjectedScript::nodeForObjectId):
52 (WebCore::InjectedScript::releaseObject):
53 (WebCore::InjectedScript::wrapForConsole):
54 (WebCore::InjectedScript::inspectNode):
55 * inspector/InjectedScript.h:
56 * inspector/InjectedScriptHost.cpp:
57 (WebCore::InjectedScriptHost::inspectImpl):
58 (WebCore::InjectedScriptHost::databaseIdImpl):
59 (WebCore::InjectedScriptHost::storageIdImpl):
60 * inspector/InjectedScriptHost.h:
61 * inspector/InjectedScriptHost.idl:
62 * inspector/InjectedScriptSource.js:
63 * inspector/Inspector.idl:
64 * inspector/InspectorAgent.cpp:
65 (WebCore::InspectorAgent::focusNode):
66 * inspector/InspectorDOMAgent.cpp:
67 * inspector/InspectorDOMAgent.h:
68 * inspector/InspectorDOMStorageAgent.cpp:
69 (WebCore::InspectorDOMStorageAgent::storageId):
70 (WebCore::InspectorDOMStorageAgent::didUseDOMStorage):
71 * inspector/InspectorDOMStorageAgent.h:
72 * inspector/InspectorDOMStorageResource.cpp:
73 * inspector/InspectorDOMStorageResource.h:
74 * inspector/InspectorDatabaseAgent.cpp:
75 (WebCore::InspectorDatabaseAgent::databaseId):
76 * inspector/InspectorDatabaseAgent.h:
77 * inspector/InspectorDatabaseResource.cpp:
78 * inspector/InspectorDatabaseResource.h:
79 * inspector/InspectorRuntimeAgent.cpp:
80 (WebCore::InspectorRuntimeAgent::releaseObject):
81 * inspector/InspectorRuntimeAgent.h:
82 * inspector/front-end/AuditRules.js:
83 (WebInspector.AuditRules.evaluateInTargetWindow):
84 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
85 * inspector/front-end/DOMStorage.js:
86 * inspector/front-end/Database.js:
87 * inspector/front-end/ExtensionServer.js:
88 (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
89 * inspector/front-end/inspector.js:
90 (WebInspector.inspect):
92 2011-02-22 Pavel Podivilov <podivilov@chromium.org>
94 Reviewed by Pavel Feldman.
96 Web Inspector: refactor "script or resource" mess in scripts panel.
97 https://bugs.webkit.org/show_bug.cgi?id=54961
99 - Use sourceName instead of scriptOrResource
100 - Replace two huge functions _addScriptToFilesMenu and _showScriptOrResource that are
101 calling each other recursively with small one-purpose non-recursive functions
103 Test: inspector/debugger/scripts-panel.html
105 * inspector/front-end/ScriptsPanel.js:
106 (WebInspector.ScriptsPanel):
107 (WebInspector.ScriptsPanel.prototype.get defaultFocusedElement):
108 (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
109 (WebInspector.ScriptsPanel.prototype._addScript):
110 (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
111 (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelectAndShowSourceFrameIfNeeded):
112 (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.optionCompare):
113 (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
114 (WebInspector.ScriptsPanel.prototype.reset):
115 (WebInspector.ScriptsPanel.prototype.canShowSourceLine):
116 (WebInspector.ScriptsPanel.prototype.showSourceLine):
117 (WebInspector.ScriptsPanel.prototype._showSourceFrame):
118 (WebInspector.ScriptsPanel.prototype._sourceFrameForSourceName):
119 (WebInspector.ScriptsPanel.prototype._recreateSourceFrame):
120 (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
121 (WebInspector.ScriptsPanel.prototype._addItemToBackForwardList):
122 (WebInspector.ScriptsPanel.prototype._sourceNameForScript):
123 (WebInspector.ScriptsPanel.prototype._scriptForSourceName):
124 (WebInspector.ScriptsPanel.prototype._callFrameSelected):
125 (WebInspector.ScriptsPanel.prototype._filesSelectChanged):
126 (WebInspector.ScriptsPanel.prototype._goBack):
127 (WebInspector.ScriptsPanel.prototype._goForward):
128 * inspector/front-end/SourceFrame.js:
129 (WebInspector.SourceFrame.prototype.setExecutionLine):
131 2011-02-24 Eric Seidel <eric@webkit.org>
133 Reviewed by Adam Barth.
135 Fragment parsing does not need to use HTMLSourceTracker
136 https://bugs.webkit.org/show_bug.cgi?id=55011
138 Any performance gains from this patch are likely
139 the result of working around:
140 https://bugs.webkit.org/show_bug.cgi?id=55005
141 (Which suggests that fixing bug 55005 will speed
142 up normal HTML parsing substantially.)
144 Assuming I ran the numbers correct, here is the
145 change from PerformanceTests/Parser/tiny-innerHTML:
149 stdev 41.295157101045135
156 stdev 32.500615378789355
160 Removing just the HTMLSourceTracker calls brought our
161 score from 5500 to 5200, removing the XSSFilter as well
162 brought it to 2600 on my machine.
164 * html/parser/HTMLDocumentParser.cpp:
165 (WebCore::HTMLDocumentParser::HTMLDocumentParser):
166 (WebCore::HTMLDocumentParser::pumpTokenizer):
167 * html/parser/HTMLDocumentParser.h:
169 2011-02-24 Andras Becsi <abecsi@webkit.org>
171 Reviewed by Laszlo Gombos.
173 [Qt] MinGW build fails to link
174 https://bugs.webkit.org/show_bug.cgi?id=55050
176 Prepend the libraries of subcomponents instead of appending them
177 to fix the library order according to the dependency of the libraries
183 2011-02-24 Adam Barth <abarth@webkit.org>
185 Reviewed by Eric Seidel.
187 CSP's script-src should block JavaScript URLs
188 https://bugs.webkit.org/show_bug.cgi?id=54787
190 Blocking JavaScript URLs required some re-architecting of the lifetime
191 of the ContentSecurityPolicy object. We now manage the lifetime the
192 same way we manage the lifetime of the SecurityOrigin object. In
193 particular, when SecurityOrigin inherits into an about:blank iframe, we
194 inherit the CSP object as well. (This is covered by the test added in
195 this patch.) In the future, we might consider making
196 ContentSecurityPolicy a component of SecurityOrigin instead of a
197 component of Document.
199 I noted the trickiness in
200 http://www.w3.org/Security/wiki/Content_Security_Policies so that we'll
201 make sure it gets defined properly in the spec.
203 Test: http/tests/security/contentSecurityPolicy/javascript-url.html
205 * bindings/ScriptControllerBase.cpp:
206 (WebCore::ScriptController::executeIfJavaScriptURL):
208 (WebCore::Document::initSecurityContext):
210 (WebCore::Document::contentSecurityPolicy):
211 * page/ContentSecurityPolicy.cpp:
212 (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
213 * page/ContentSecurityPolicy.h:
214 (WebCore::ContentSecurityPolicy::create):
216 2011-02-21 Philippe Normand <pnormand@igalia.com>
218 Reviewed by Martin Robinson.
220 [GStreamer] GRefPtr support for GstElement
221 https://bugs.webkit.org/show_bug.cgi?id=54870
225 * platform/graphics/gstreamer/GRefPtrGStreamer.cpp: Added.
227 * platform/graphics/gstreamer/GRefPtrGStreamer.h: Added.
228 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
231 2011-02-24 Emil A Eklund <eae@chromium.org>
233 Reviewed by Eric Seidel.
235 Share code between elementFromPoint and caretRangeFromPoint in Document.
236 https://bugs.webkit.org/show_bug.cgi?id=54610
238 Eliminate duplicate code by moving shared logic from elementFromPoint and
239 caretRangeFromPoint into helper function.
242 (WebCore::nodeFromPoint):
243 (WebCore::Document::elementFromPoint):
244 (WebCore::Document::caretRangeFromPoint):
246 2011-02-24 Ilya Tikhonovsky <loislo@chromium.org>
248 Unreviewed build fix.
250 * inspector/InspectorDOMAgent.cpp:
251 (WebCore::InspectorDOMAgent::removeAttribute):
252 * inspector/InspectorResourceAgent.cpp:
253 (WebCore::InspectorResourceAgent::cachedResources):
254 * inspector/InspectorRuntimeAgent.cpp:
255 (WebCore::InspectorRuntimeAgent::evaluate):
257 2011-02-24 Zan Dobersek <zandobersek@gmail.com>
259 Reviewed by Eric Seidel.
261 [gtk] Failing collinear arcTo canvas tests
262 https://bugs.webkit.org/show_bug.cgi?id=54658
264 Check for collinearity of the three points that affect how arcTo call
265 results. This behavior is in accordance with the HTML standard.
267 No new tests added as this is already covered by at least two tests.
269 * platform/graphics/cairo/PathCairo.cpp:
270 (WebCore::areaOfTriangleFormedByPoints):
271 (WebCore::Path::addArcTo):
273 2011-02-24 Ilya Tikhonovsky <loislo@chromium.org>
275 Reviewed by Pavel Feldman.
277 Web Inspector: There is a validator of the protocol message format.
279 It has two parts. InspectorBackendStub.js is the frontend part.
280 InspectorBackendDispatcher.cpp is the backend part.
281 Both parts are checking protocol message format and report the error if
282 the message has not enough fields or the types of fields do not match with
283 Inspector.idl specification. These validators are generated automatically.
285 In addition, we have a number of places at the backend where we check the
286 function arguments and do nothing if the arguments are invalid
287 from the business logic point of view.
289 This patch bring us an ability to report a custom error from such function to the frontend.
291 https://bugs.webkit.org/show_bug.cgi?id=54971
293 * inspector/CodeGeneratorInspector.pm:
294 * inspector/InjectedScriptHost.cpp:
295 * inspector/InspectorAgent.cpp:
296 * inspector/InspectorAgent.h:
297 * inspector/InspectorApplicationCacheAgent.cpp:
298 * inspector/InspectorApplicationCacheAgent.h:
299 * inspector/InspectorBrowserDebuggerAgent.cpp:
300 * inspector/InspectorBrowserDebuggerAgent.h:
301 * inspector/InspectorCSSAgent.cpp:
302 * inspector/InspectorCSSAgent.h:
303 * inspector/InspectorConsoleAgent.cpp:
304 * inspector/InspectorConsoleAgent.h:
305 * inspector/InspectorController.cpp:
306 * inspector/InspectorDOMAgent.cpp:
307 * inspector/InspectorDOMAgent.h:
308 * inspector/InspectorDOMStorageAgent.cpp:
309 * inspector/InspectorDOMStorageAgent.h:
310 * inspector/InspectorDatabaseAgent.cpp:
311 * inspector/InspectorDatabaseAgent.h:
312 * inspector/InspectorDebuggerAgent.cpp:
313 * inspector/InspectorDebuggerAgent.h:
314 * inspector/InspectorProfilerAgent.cpp:
315 * inspector/InspectorProfilerAgent.h:
316 * inspector/InspectorResourceAgent.cpp:
317 * inspector/InspectorResourceAgent.h:
318 * inspector/InspectorRuntimeAgent.cpp:
319 * inspector/InspectorRuntimeAgent.h:
320 * inspector/InspectorTimelineAgent.cpp:
321 * inspector/InspectorTimelineAgent.h:
323 2011-02-24 Ryosuke Niwa <rniwa@webkit.org>
325 Reviewed by Ojan Vafai.
327 Crash when deleting inside a blockquote with a large offset
328 https://bugs.webkit.org/show_bug.cgi?id=55098
330 The bug was caused by inconsistency in lineBreakExistsAtPosition and breakOutOfEmptyMailBlockquotedParagraph.
331 While lineBreakExistsAtPosition was checking that a line break exists at the downstream of the given position,
332 breakOutOfEmptyMailBlockquotedParagraph wasn't using the downstream for caretPos. Fixed the bug by using
333 the downstream position to instantiate caretPos.
335 Co-author: Abhishek Arya <inferno@chromium.org>.
337 Test: editing/deleting/delete-blockquote-large-offsets.html
339 * editing/CompositeEditCommand.cpp:
340 (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
342 2011-02-24 Robert Kroeger <rjkroege@chromium.org>
344 Reviewed by Darin Fisher.
346 Added timestamps to PlatformTouchEvent etc.
348 PlatformTouchEvent doesn't have a timestamp and so
349 eventSender.leapForward cannot be used for touchevent based tests.
350 This change adds a timestamp to PlatformTouchEvent and initializes
351 it in a reasonable manner on Android and Qt platforms.
353 [chromium] [WebCore] [android] Touch events are missing time stamps
354 https://bugs.webkit.org/show_bug.cgi?id=53510
356 * platform/PlatformTouchEvent.h:
357 (WebCore::PlatformTouchEvent::PlatformTouchEvent):
358 (WebCore::PlatformTouchEvent::timestamp):
359 * platform/android/PlatformTouchEventAndroid.cpp:
360 (WebCore::PlatformTouchEvent::PlatformTouchEvent):
361 * platform/qt/PlatformTouchEventQt.cpp:
362 (WebCore::PlatformTouchEvent::PlatformTouchEvent):
364 2011-02-24 Renata Hodovan <reni@webkit.org>
366 Unreviewed GTK, Snow Leopard build fix for r79474.
368 * platform/graphics/filters/FEConvolveMatrix.cpp:
369 (WebCore::FEConvolveMatrix::setKernelUnitLength):
370 * platform/graphics/filters/FEConvolveMatrix.h:
372 2011-02-24 Carlos Garcia Campos <cgarcia@igalia.com>
374 Reviewed by Xan Lopez.
376 Use IntRect instead of a pointer to a GtkAllocation struct to avoid
377 unnecessary memory allocations.
379 * plugins/PluginView.h:
380 * plugins/gtk/PluginViewGtk.cpp:
381 (WebCore::PluginView::setNPWindowIfNeeded):
382 (WebCore::PluginView::plugAddedCallback):
384 2011-02-24 Carlos Garcia Campos <cgarcia@igalia.com>
386 Unreviewed. Fix the build with GTK+ 3.
388 * plugins/PluginView.h:
390 2011-02-23 Ryosuke Niwa <rniwa@webkit.org>
392 Reviewed by Darin Adler.
394 Refactor HTMLEquivalent into a hierachy of classes
395 https://bugs.webkit.org/show_bug.cgi?id=55025
397 Converted HTMLEquivalent into a class. Some logic in removeImplicitlyStyledElement is
398 extracted as member functions of HTMLEquivalent and its subclasses.
400 * editing/ApplyStyleCommand.cpp:
401 (WebCore::HTMLEquivalent::create): Added.
402 (WebCore::HTMLEquivalent::~HTMLEquivalent): Added.
403 (WebCore::HTMLEquivalent::matches): Returns true if the element is an equivalent, meaning that
404 the element's implicit style affects the property of this equivalence.
405 (WebCore::HTMLEquivalent::hasAttribute): Returns true if this equivalence requires attributes;
406 e.g. color, size, dir.
407 (WebCore::HTMLEquivalent::propertyExistsInStyle): Returns true if the property of this equivalence
408 exists in the specified style. e.g. if this equivalence is for size attribute and font-size property,
409 this function returns true if the specified style has font-size property set.
410 (WebCore::HTMLEquivalent::HTMLEquivalent): Added.
411 (WebCore::HTMLEquivalent::valueIsPresentInStyle): Returns true if the specified style has the
412 implicit style of the specified element of this equivalence.
413 (WebCore::HTMLEquivalent::addToStyle): Adds the implicit style of the element of this equivalence
414 to the specified mutable style.
415 (WebCore::HTMLEquivalentValueList::create): Added.
416 (WebCore::HTMLEquivalentValueList::HTMLEquivalentValueList): Added.
417 (WebCore::HTMLEquivalentValueList::valueIsPresentInStyle): Added.
418 (WebCore::HTMLEquivalentAttribute::create): Added.
419 (WebCore::HTMLEquivalentAttribute::matches): Added.
420 (WebCore::HTMLEquivalentAttribute::hasAttribute): Added.
421 (WebCore::HTMLEquivalentAttribute::attributeName): Added.
422 (WebCore::HTMLEquivalentAttribute::HTMLEquivalentAttribute): Added.
423 (WebCore::HTMLEquivalentAttribute::valueIsPresentInStyle): Added.
424 (WebCore::HTMLEquivalentAttribute::addToStyle): Added.
425 (WebCore::HTMLEquivalentAttribute::attributeValueAsCSSValue): Added.
426 (WebCore::HTMLEquivalentFontSizeAttribute::create): Added.
427 (WebCore::HTMLEquivalentFontSizeAttribute::HTMLEquivalentFontSizeAttribute): Added.
428 (WebCore::HTMLEquivalentFontSizeAttribute::attributeValueAsCSSValue): Added.
429 (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Uses new classes.
431 2011-02-23 Sheriff Bot <webkit.review.bot@gmail.com>
433 Unreviewed, rolling out r79510.
434 http://trac.webkit.org/changeset/79510
435 https://bugs.webkit.org/show_bug.cgi?id=55114
437 It made ~200 tests crash on Qt bot (Requested by Ossy_ on
440 * platform/text/TextBreakIterator.h:
441 * platform/text/TextBreakIteratorICU.cpp:
442 (WebCore::lineBreakIterator):
443 * platform/text/qt/TextBreakIteratorQt.cpp:
444 (WebCore::lineBreakIterator):
445 * rendering/RenderBlock.h:
446 * rendering/RenderBlockLineLayout.cpp:
447 (WebCore::RenderBlock::layoutInlineChildren):
448 (WebCore::RenderBlock::findNextLineBreak):
449 * rendering/RenderText.cpp:
450 (WebCore::RenderText::computePreferredLogicalWidths):
451 * rendering/break_lines.cpp:
452 (WebCore::nextBreakablePosition):
453 * rendering/break_lines.h:
454 (WebCore::isBreakable):
456 2011-02-23 Geoffrey Garen <ggaren@apple.com>
458 Reviewed by Mark Rowe.
460 Used svn merge -r79502:79501 to roll out r79502 because it broke the
461 SnowLeopard and Leopard builds.
463 * WebCore.xcodeproj/project.pbxproj:
464 * platform/mac/HTMLConverter.h: Removed.
465 * platform/mac/HTMLConverter.mm: Removed.
466 * platform/mac/PasteboardMac.mm:
467 (WebCore::Pasteboard::writeSelection):
469 2011-02-23 Beth Dakin <bdakin@apple.com>
471 Reviewed by Dan Bernstein.
473 Fix for <rdar://problem/9002157> Garbage in the bottom right corner of the window
476 When there is both a horizontal and a vertical scrollbar, it is necessary to
477 include the space between them in the invalidation.
478 * platform/ScrollableArea.cpp:
479 (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
481 2011-02-23 Ned Holbrook <nholbrook@apple.com>
483 Reviewed by Dan Bernstein.
485 Minimize calls to ubrk_setText()
486 https://bugs.webkit.org/show_bug.cgi?id=54912
487 <rdar://problem/9032774>
489 Avoid calling ubrk_setText() once per call to isBreakable() by using a LazyLineBreakIterator, which defers
490 break iterator creation until needed. This requires replacing the global line break iterator primitive with a
491 version that can be nested, since in some cases two iterators may need to be outstanding. In particular,
492 layoutInlineChildren() may indirectly call computePreferredLogicalWidths() and each may need an iterator.
493 In a test with a paragraph of Japanese text, this reduced the number of ubrk_setText() calls from 164 to 1.
495 * platform/text/TextBreakIterator.h: Add LazyLineBreakIterator.
496 (WebCore::LazyLineBreakIterator::LazyLineBreakIterator):
497 (WebCore::LazyLineBreakIterator::~LazyLineBreakIterator):
498 (WebCore::LazyLineBreakIterator::string):
499 (WebCore::LazyLineBreakIterator::length):
500 (WebCore::LazyLineBreakIterator::get):
501 (WebCore::LazyLineBreakIterator::reset):
502 * platform/text/TextBreakIteratorICU.cpp: Replace lineBreakIterator() primitive with acquireLineBreakIterator()/releaseLineBreakIterator().
503 (WebCore::acquireLineBreakIterator):
504 (WebCore::releaseLineBreakIterator):
505 * platform/text/qt/TextBreakIteratorQt.cpp: Ditto TextBreakIteratorICU.cpp.
506 (WebCore::acquireLineBreakIterator):
507 (WebCore::releaseLineBreakIterator):
508 * rendering/RenderBlock.h:
509 * rendering/RenderBlockLineLayout.cpp:
510 (WebCore::RenderBlock::layoutInlineChildren): Pass a mapping of RenderText to LazyLineBreakIterator from one call of findNextLineBreak() to the next.
511 (WebCore::RenderBlock::findNextLineBreak): Use said mapping, resetting LazyLineBreakIterator for any newly-encountered RenderText.
512 * rendering/RenderText.cpp: Use a local LazyLineBreakIterator.
513 (WebCore::RenderText::computePreferredLogicalWidths):
514 * rendering/break_lines.cpp: Accept LazyLineBreakIterator rather than TextBreakIterator.
515 (WebCore::nextBreakablePosition):
516 * rendering/break_lines.h: Accept LazyLineBreakIterator rather than TextBreakIterator.
517 (WebCore::isBreakable):
519 2011-02-23 Anders Carlsson <andersca@apple.com>
523 * platform/mac/HTMLConverter.h:
525 2011-02-17 Enrica Casucci <enrica@apple.com>
527 Reviewed by Darin Adler.
529 REGRESSION: Copied content loses formatting on paste to external apps.
530 https://bugs.webkit.org/show_bug.cgi?id=47615
531 <rdar://problem/9001214>
533 This patch adds a way for WebKit2 to create NSAttributedStrings from
534 a DOM range without using the AppKit api initWithDOMRange that internally
535 needs to access the WebView. The NSAttributedString is needed to create
536 RTF formats in the pasteboard.
537 This is to be considered a first step, since in the future we want to have
538 an implementation based on the TextIterator.
540 * WebCore.xcodeproj/project.pbxproj: Added new file.
541 * platform/mac/HTMLConverter.h: Added.
542 * platform/mac/HTMLConverter.mm: Added.
543 * platform/mac/PasteboardMac.mm:
544 (WebCore::Pasteboard::writeSelection): We now use WebHTMLConverter
545 class for WebKit2 to create the NSAttributedString from the DOM range.
547 2011-02-23 David Hyatt <hyatt@apple.com>
549 Reviewed by Sam Weinig.
551 https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
553 Patch computePositionedLogicalHeightUsing to be writing-mode-aware.
555 * rendering/RenderBox.cpp:
556 (WebCore::RenderBox::computePositionedLogicalWidthUsing):
557 (WebCore::RenderBox::computePositionedLogicalHeightUsing):
558 * rendering/RenderBox.h:
560 2011-02-23 Martin Robinson <mrobinson@igalia.com>
562 Reviewed by Xan Lopez.
564 [Gtk] Flash item placed on wrong location right after load
565 https://bugs.webkit.org/show_bug.cgi?id=37769
567 If a plugin is GtkSocket based, do not set the widget allocation until the
568 window is actually embedded in the parent. When the window is embedded, use
569 any pending allocation for the call to gtk_widget_size_allocate. This bug
570 seems to only appear with Flash movies loaded as the src of an iframe.
572 * manual-tests/plugins/windowed-in-iframe.html: Added.
573 * plugins/PluginView.h: Add a few new members to track window embedding state.
574 * plugins/gtk/PluginViewGtk.cpp:
575 (WebCore::PluginView::setNPWindowIfNeeded): If this is a GtkSocket-based plugin
576 wait until the plug-added signal fires to set the widget allocation.
577 (WebCore::PluginView::plugAddedCallback): Updated to be a static method, so that
578 we can access private members. If there is a pending allocation, call gtk_widget_size_allocate
580 (WebCore::PluginView::platformStart): Update the plugin state, so that we do not
581 call gtk_widget_size_allocate if the window isn't embedded.
583 2011-02-18 Enrica Casucci <enrica@apple.com>
585 Reviewed by Adam Roben.
587 Mac OS X Services are not available for selected text in WebKit2 windows.
588 https://bugs.webkit.org/show_bug.cgi?id=54777
589 <rdar://problem/8666428>
591 The changes to WebCore for this bug are limited to exposing a new
592 entry point in the Editor class to write to the pasteboard and
593 changes to the Pasteboard class to write the selection with
594 a given set of pasteboard types. The majority of the work
599 * editing/mac/EditorMac.mm: Added entrypoint to write the
600 selection to the pasteboard.
601 (WebCore::Editor::writeSelectionToPasteboard):
602 * platform/Pasteboard.h:
603 * platform/mac/ClipboardMac.mm:
604 (WebCore::ClipboardMac::writeRange):
605 * platform/mac/PasteboardMac.mm:
606 (WebCore::Pasteboard::writeSelection):
608 2011-02-23 David Hyatt <hyatt@apple.com>
610 Reviewed by Simon Fraser.
612 https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
614 Patch computePositionedLogicalHeight to be writing-mode-aware. Functions it calls have not been
615 patched yet, so still not testable in a vertical text environment.
617 * rendering/RenderBox.cpp:
618 (WebCore::RenderBox::computePositionedLogicalHeight):
620 2011-02-23 David Hyatt <hyatt@apple.com>
622 Reviewed by Sam Weinig.
624 https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
626 Patch computePositionedLogicalWidthUsing to be writing-mode-aware. Still not testable in a vertical text
627 environment, since height computations will overwrite all values computed here until they are patched as well.
629 * rendering/RenderBox.cpp:
630 (WebCore::RenderBox::computePositionedLogicalWidthUsing):
631 * rendering/RenderBox.h:
633 2011-02-23 Renata Hodovan <reni@webkit.org>
635 Reviewed by Nikolas Zimmermann.
637 FEColorMatrixElement changes doesn't require relayout
638 https://bugs.webkit.org/show_bug.cgi?id=54880
640 When the FEColorMatrixElement receives an update message but the given value remains the same we don't need
641 to relayout the filter.
643 No new tests are needed because this modificiation is covered by the dynamic update tests of FEColorMatrix.
645 * platform/graphics/filters/FEColorMatrix.cpp:
646 (WebCore::FEColorMatrix::setType):
647 (WebCore::FEColorMatrix::setValues):
648 * platform/graphics/filters/FEColorMatrix.h:
649 * svg/SVGFEColorMatrixElement.cpp:
650 (WebCore::SVGFEColorMatrixElement::setFilterEffectAttribute):
651 (WebCore::SVGFEColorMatrixElement::svgAttributeChanged):
652 * svg/SVGFEColorMatrixElement.h:
654 2011-02-23 James Robinson <jamesr@chromium.org>
656 REGRESSION(79466): fast/parser/test-unicode-characters-in-attribute-name.html fails
658 Reverts TextCodecUTF16.cpp back to pre-79466 state. The crash fix in 79466 was for UTF-8 only, it also caused the UTF16 path to fail.
660 * platform/text/TextCodecUTF16.cpp:
661 (WebCore::newStreamingTextDecoderUTF16LE):
662 (WebCore::newStreamingTextDecoderUTF16BE):
663 (WebCore::TextCodecUTF16::decode):
664 (WebCore::TextCodecUTF16::encode):
666 2011-02-23 David Hyatt <hyatt@apple.com>
668 Reviewed by Sam Weinig.
670 https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
672 Patch computePositionedLogicalWidth to be writing-mode-aware. Functions it calls have not been
673 patched yet, so still not testable in a vertical text environment.
675 * rendering/RenderBox.cpp:
676 (WebCore::RenderBox::computePositionedLogicalWidth):
678 2011-02-23 James Robinson <jamesr@chromium.org>
680 Unreviewed, rolling out r79428.
681 http://trac.webkit.org/changeset/79428
682 https://bugs.webkit.org/show_bug.cgi?id=54714
684 Does not work in the Chromium sandbox
686 * websockets/WebSocketHandshake.cpp:
687 (WebCore::generateSecWebSocketKey):
688 (WebCore::generateKey3):
690 2011-02-23 David Hyatt <hyatt@apple.com>
692 Reviewed by Sam Weinig.
694 https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
696 Add logical accessors for the left()/right()/top()/bottom() properties on the RenderStyle.
698 * rendering/style/RenderStyle.h:
699 (WebCore::InheritedFlags::logicalLeft):
700 (WebCore::InheritedFlags::logicalRight):
701 (WebCore::InheritedFlags::logicalTop):
702 (WebCore::InheritedFlags::logicalBottom):
704 2011-02-23 Darin Adler <darin@apple.com>
706 Reviewed by Alexey Proskuryakov.
708 Fix crash seen in one of the regression tests.
710 * platform/text/TextCodecUTF16.cpp:
711 (WebCore::TextCodecUTF16::decode): Handle case where we did not decode any new data,
712 we were not told to flush, and we had a buffered byte. The assertion here was incorrect,
713 and the correct thing to do is nothing.
715 2011-02-23 Sergey Glazunov <serg.glazunov@gmail.com>
717 Reviewed by James Robinson.
719 SVGCursorElement::removeClient() should verify that its argument is connected with
720 the proper cursor element.
721 https://bugs.webkit.org/show_bug.cgi?id=54979
723 Test: svg/css/multiple-cursors-crash.html
725 * svg/SVGCursorElement.cpp:
726 (WebCore::SVGCursorElement::removeClient):
728 2011-02-23 Renata Hodovan <reni@webkit.org>
730 Reviewed by Darin Adler.
732 FEConvolveMatrixElement changes doesn't require relayout
733 https://bugs.webkit.org/show_bug.cgi?id=55067
735 When the FEConvolveMatrixElement receives an update message but the
736 given value remains the same we don't need to relayout the filter.
738 No new tests are needed because this modificiation is covered by the
739 dynamic update tests of FEConvolveMatrix.
741 * platform/graphics/filters/FEConvolveMatrix.cpp:
742 (WebCore::FEConvolveMatrix::setDivisor):
743 (WebCore::FEConvolveMatrix::setBias):
744 (WebCore::FEConvolveMatrix::setTargetOffset):
745 (WebCore::FEConvolveMatrix::edgeMode):
746 (WebCore::FEConvolveMatrix::setEdgeMode):
747 (WebCore::FEConvolveMatrix::setPreserveAlpha):
748 * platform/graphics/filters/FEConvolveMatrix.h:
749 * svg/SVGFEConvolveMatrixElement.cpp:
750 (WebCore::SVGFEConvolveMatrixElement::setFilterEffectAttribute):
751 (WebCore::SVGFEConvolveMatrixElement::svgAttributeChanged):
752 * svg/SVGFEConvolveMatrixElement.h:
754 2011-02-23 Geoffrey Garen <ggaren@apple.com>
756 Reviewed by Darin Adler.
758 Rolled back in r79367 with SnowLeopard Release bot crash fixed.
759 https://bugs.webkit.org/show_bug.cgi?id=54999
761 * ForwardingHeaders/wtf/DoublyLinkedList.h: Added.
763 2011-02-23 Dimitri Glazkov <dglazkov@chromium.org>
765 Reviewed by Darin Adler.
767 Add more thorough manual test coverage for media controls
768 https://bugs.webkit.org/show_bug.cgi?id=55006
770 * manual-tests/media-controls.html: Added.
772 2011-02-23 Darin Adler <darin@apple.com>
776 * platform/text/TextCodecUTF16.cpp:
777 (WebCore::TextCodecUTF16::decode): Removed stray unused local variable.
779 2011-02-23 Dimitri Glazkov <dglazkov@chromium.org>
781 Reviewed by Darin Adler.
783 Setting shadow host should also attach and set inDocument, just like
784 appending/inserting a child.
785 https://bugs.webkit.org/show_bug.cgi?id=55065
787 No new tests, because functionality is not yet used.
790 (WebCore::Element::setShadowRoot): Add attaching and setting inDocument
791 for the shadow DOM subtree, like the host.
793 2011-02-23 David Hyatt <hyatt@apple.com>
795 Reviewed by Darin Adler and Simon Fraser.
797 https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
799 - Add clientLogicalWidth and clientLogicalHeight that call the correct clientWidth or clientHeight based off
801 - Patch clientLogicalBottom to use clientLogicalHeight.
802 - Convert containingBlockWidthForPositioned and containingBlockHeightForPositioned to be logical and to make use of
803 clientLogicalHeight/Width. Also make them able to handle perpendicular writing mode containining blocks.
804 - Refine containingBlockLogicalHeightForPositioned to match containingBlockLogicalWidthForPositioned more closely.
806 * rendering/RenderBox.cpp:
807 (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
808 (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
809 (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
810 (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
811 (WebCore::RenderBox::computePositionedLogicalWidth):
812 (WebCore::RenderBox::computePositionedLogicalHeight):
813 (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
814 (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
815 * rendering/RenderBox.h:
816 (WebCore::RenderBox::clientLogicalWidth):
817 (WebCore::RenderBox::clientLogicalHeight):
818 (WebCore::RenderBox::clientLogicalBottom):
820 2011-02-23 Darin Adler <darin@apple.com>
822 Reviewed by Alexey Proskuryakov.
824 REGRESSION (new UTF-8 decoder): Reproducible crash on alltommac.se
825 https://bugs.webkit.org/show_bug.cgi?id=54862
827 Correct handling of end of buffer partial sequence in UTF-8 and UTF-16 decoders when flushing with zero length
828 https://bugs.webkit.org/show_bug.cgi?id=54444
830 No new tests at this time. I will add some tests later, but since multiple
831 people are hitting this I wanted to get it in as quickly as possible.
833 * platform/text/TextCodecUTF16.cpp:
834 (WebCore::TextCodecUTF16::decode): Tweaked coding style quite a bit.
835 Removed special case for zero length now that main code handles it
836 correctly. Used words instead of abbreviations for local variable names.
837 Added error handling for a trailing byte.
839 * platform/text/TextCodecUTF8.cpp:
840 (WebCore::TextCodecUTF8::consumePartialSequenceByte): Added. Helper function
841 to make the handleError and handlePartialSequence functions clearer.
842 (WebCore::TextCodecUTF8::handleError): Added. Helper function to make the
843 handlePartialSequence clearer.
844 (WebCore::TextCodecUTF8::handlePartialSequence): Added. Factored out code for
845 the partial sequence case. Making this a separate function probably helps make
846 the fast case a little faster. This new version handles more cases correctly,
847 which is what fixes the crashes we were seeing. In particular, it no longer
848 assumes that the partial sequence is truly partial, because there are cases
849 where we end up handling complete sequences here, such as when a complete
850 sequence is inside a malformed partial sequence.
851 (WebCore::TextCodecUTF8::decode): Removed partial sequence code and made this
852 call handlePartialSequence instead. Could be streamlined if we double checked
853 that passing a reference to "destination" and "source" doesn't harm code
854 generation too much, so perhaps someone can do that research on a few compilers
855 later and clean this up. Removed special case for zero length now that the
856 main code handles that correctly.
858 * platform/text/TextCodecUTF8.h: Added declarations for new functions.
859 Made partial sequence buffer large enough to hold a whole sequence so we can
860 use it to complete and decode a sequence in place.
862 2011-02-23 Abhishek Arya <inferno@chromium.org>
864 Reviewed by Dave Hyatt.
866 Make clear float lineboxes resilient against overflows.
867 https://bugs.webkit.org/show_bug.cgi?id=54995
869 We try to dirty everthing in block range if we have a negative
870 logical bottom, or if our logical bottom is less than our logical
871 top, or if our logical top is equal to INT_MAX. Plus, we also dirty
872 a linebox if its block logical height is less than zero.
873 Tests: fast/overflow/overflow-height-float-not-removed-crash2.html
874 fast/overflow/overflow-height-float-not-removed-crash3.html
876 * rendering/RenderBlock.cpp:
877 (WebCore::RenderBlock::removeFloatingObject):
878 (WebCore::RenderBlock::markLinesDirtyInBlockRange):
879 * rendering/RootInlineBox.cpp:
880 (WebCore::RootInlineBox::alignBoxesInBlockDirection): remove the hack
881 added in r69735. we don't need this anymore since we are making the
882 underlying float dirty logic resilient.
884 2011-02-22 Kenneth Russell <kbr@google.com>
886 Reviewed by Darin Fisher.
888 Per-page minimum DOMTimer interval broken for repeating timers
889 https://bugs.webkit.org/show_bug.cgi?id=55014
891 When the minimum timer interval is adjusted, if the timer is
892 repeating, cause its repeat interval to be set to its original
893 timeout clamped to the new minimum interval.
895 Tests: fast/dom/timer-increase-min-interval-repeating.html
896 fast/dom/timer-increase-then-decrease-min-interval-repeating.html
899 (WebCore::DOMTimer::adjustMinimumTimerInterval):
901 2011-02-23 Dan Bernstein <mitz@apple.com>
903 Reviewed by Maciej Stachowiak.
905 Fix two issues seen in WebKit2 views on Mac:
906 - <rdar://problem/8867831> WebKit2: Insertion points in form fields no longer blink
907 - <rdar://problem/8950362> REGRESSION (WebKit2): Cannot deselect text
909 * page/EventHandler.cpp:
910 (WebCore::EventHandler::EventHandler): Initialize m_activationEventNumber
911 to -1. Since WebKit2 doesnÕt support non-activating clicks yet (<http://webkit.org/b/55053>
912 <rdar://problem/9042197>) and doesnÕt send event numbers, all events were considered to be
913 window-activating events. This in turn prevented them from clearing the selection and resuming
914 caret blinking on mouse up.
916 2011-02-23 Jacob Dinu <dinu.jacob@nokia.com>
918 Reviewed by Pavel Feldman.
920 Web Inspector: Linking error for some InspectorController symbols
921 https://bugs.webkit.org/show_bug.cgi?id=54953
923 Moved out hideHighlight definition from under JAVASCRIPT_DEBUGGER flag
925 * inspector/InspectorController.cpp:
926 (WebCore::InspectorController::hideHighlight):
927 (WebCore::InspectorController::resume):
929 2011-02-23 Hans Wennborg <hans@chromium.org>
931 IndexedDB: Move some SQL code into IDBBackingStore
932 https://bugs.webkit.org/show_bug.cgi?id=54889
934 The idea is to gather all the SQL logic into IDBBackingStore.
936 No new functionality, so no new tests.
938 * storage/IDBBackingStore.cpp:
939 (WebCore::IDBBackingStore::IDBBackingStore):
940 (WebCore::runCommands):
941 (WebCore::createTables):
942 (WebCore::createMetaDataTable):
943 (WebCore::getDatabaseSchemaVersion):
944 (WebCore::migrateDatabase):
945 (WebCore::IDBBackingStore::open):
946 (WebCore::IDBBackingStore::extractIDBDatabaseMetaData):
947 (WebCore::IDBBackingStore::setIDBDatabaseMetaData):
948 (WebCore::IDBBackingStore::getObjectStores):
949 (WebCore::IDBBackingStore::createObjectStore):
951 (WebCore::IDBBackingStore::deleteObjectStore):
952 (WebCore::whereSyntaxForKey):
953 (WebCore::bindKeyToQuery):
954 (WebCore::IDBBackingStore::getObjectStoreRecord):
955 (WebCore::bindKeyToQueryWithNulls):
956 (WebCore::IDBBackingStore::putObjectStoreRecord):
957 (WebCore::IDBBackingStore::deleteIndexDataForRecord):
958 (WebCore::IDBBackingStore::putIndexDataForRecord):
959 (WebCore::IDBBackingStore::createIndex):
960 (WebCore::IDBBackingStore::deleteIndex):
961 (WebCore::IDBBackingStore::clearObjectStore):
962 * storage/IDBBackingStore.h:
963 * storage/IDBDatabaseBackendImpl.cpp:
964 (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
965 (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal):
966 (WebCore::IDBDatabaseBackendImpl::deleteObjectStoreInternal):
967 (WebCore::IDBDatabaseBackendImpl::setVersionInternal):
968 (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
969 * storage/IDBFactoryBackendImpl.cpp:
970 (WebCore::IDBFactoryBackendImpl::IDBFactoryBackendImpl):
971 (WebCore::IDBFactoryBackendImpl::addIDBBackingStore):
972 (WebCore::IDBFactoryBackendImpl::removeIDBBackingStore):
973 (WebCore::IDBFactoryBackendImpl::open):
974 * storage/IDBFactoryBackendImpl.h:
975 * storage/IDBObjectStoreBackendImpl.cpp:
976 (WebCore::IDBObjectStoreBackendImpl::getInternal):
977 (WebCore::IDBObjectStoreBackendImpl::putInternal):
978 (WebCore::IDBObjectStoreBackendImpl::clearInternal):
979 (WebCore::populateIndex):
980 (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
981 (WebCore::IDBObjectStoreBackendImpl::deleteIndexInternal):
983 2011-02-23 Siddharth Mathur <siddharth.mathur@nokia.com>
985 Reviewed by Laszlo Gombos.
987 [Qt] Fix the Symbian build after r79334
988 https://bugs.webkit.org/show_bug.cgi?id=55044
990 No new tests as there is no new functionality.
992 * WebCore.pri: Reorder symbian blocks to make sure that
993 system-sqlite is set before it is tested.
995 Copy the rules from JavaScriptCore.pri for defineTest().
997 2011-02-23 Patrick Gansterer <paroga@webkit.org>
999 Reviewed by Alexey Proskuryakov.
1001 Use AtomicString::fromUTF8 instead of String::fromUTF8 for AtomicStrings
1002 https://bugs.webkit.org/show_bug.cgi?id=54992
1004 * websockets/WebSocketHandshake.cpp:
1005 (WebCore::WebSocketHandshake::readHTTPHeaders):
1007 2011-02-23 Patrick Gansterer <paroga@webkit.org>
1009 Reviewed by Andreas Kling.
1011 [CMake] Move platform dependent files out of main CMakeLists.txt
1012 https://bugs.webkit.org/show_bug.cgi?id=53891
1014 Apple Windows port does not use the image decoders,
1015 so move them into the platform specific CMake files.
1018 * CMakeListsEfl.txt:
1019 * CMakeListsWinCE.txt:
1021 2011-02-21 Stephen White <senorblanco@chromium.org>
1023 Reviewed by Kenneth Russell.
1025 Jittering when animating a rotated image
1026 https://bugs.webkit.org/show_bug.cgi?id=50775
1028 Since Skia does not seem to suffer from pixel cracks when scaling to
1029 non-integral sizes the way CG does, no-op roundToDevicePixels on the
1030 Skia implementation.
1032 * platform/graphics/skia/GraphicsContextSkia.cpp:
1033 (WebCore::GraphicsContext::roundToDevicePixels):
1035 2011-02-23 Patrick Gansterer <paroga@webkit.org>
1037 Reviewed by Andreas Kling.
1039 [WINCE] Get rid of TemporaryLinkStubs.cpp
1040 https://bugs.webkit.org/show_bug.cgi?id=54825
1042 * CMakeListsWinCE.txt:
1043 * platform/network/win/CookieStorageWin.cpp: Copied from platform/wince/TemporaryLinkStubs.cpp.
1044 * platform/wince/TemporaryLinkStubs.cpp: Removed.
1046 2011-02-23 Patrick Gansterer <paroga@webkit.org>
1048 Reviewed by Darin Adler.
1050 Rename PLATFORM(CF) to USE(CF)
1051 https://bugs.webkit.org/show_bug.cgi?id=53540
1053 * WebCore.gyp/WebCore.gyp:
1054 * editing/SmartReplace.cpp:
1055 * editing/SmartReplaceICU.cpp:
1056 * loader/MainResourceLoader.cpp:
1057 (WebCore::MainResourceLoader::didReceiveResponse):
1058 (WebCore::MainResourceLoader::didReceiveData):
1059 (WebCore::MainResourceLoader::didFinishLoading):
1060 (WebCore::MainResourceLoader::didFail):
1061 * loader/archive/ArchiveFactory.cpp:
1062 (WebCore::archiveMIMETypes):
1063 * platform/FileSystem.h:
1065 * platform/KURLGoogle.cpp:
1066 * platform/RunLoopTimer.h:
1067 * platform/SharedBuffer.cpp:
1068 * platform/SharedBuffer.h:
1069 * platform/UUID.cpp:
1070 (WebCore::createCanonicalUUIDString):
1071 * platform/network/ResourceHandle.h:
1072 * platform/network/ResourceRequestBase.h:
1073 * platform/network/curl/ResourceHandleCurl.cpp:
1074 * platform/network/curl/ResourceHandleManager.cpp:
1075 (WebCore::certificatePath):
1076 * platform/text/cf/StringCF.cpp:
1077 * platform/text/cf/StringImplCF.cpp:
1078 * platform/win/BString.cpp:
1079 * platform/win/BString.h:
1080 * platform/win/ClipboardUtilitiesWin.cpp:
1081 (WebCore::getWebLocData):
1083 (WebCore::getClipboardData):
1084 * platform/win/ClipboardWin.cpp:
1085 (WebCore::writeFileToDataObject):
1086 * platform/win/SearchPopupMenuWin.cpp:
1087 (WebCore::SearchPopupMenuWin::enabled):
1088 (WebCore::SearchPopupMenuWin::saveRecentSearches):
1089 (WebCore::SearchPopupMenuWin::loadRecentSearches):
1091 2011-02-23 Benjamin Kalman <kalman@chromium.org>
1093 Reviewed by Ojan Vafai.
1095 Moving or selecting backwards by words jumps to start of contenteditable region if contenteditable=false span is encountered
1096 https://bugs.webkit.org/show_bug.cgi?id=51001
1098 Test: editing/selection/extend-backward-by-word-over-non-editable.html
1100 Revert some previous changes (the TextIteratorEndsAtEditingBoundary text iteration behaviour) which caused this
1101 bug in the first place, and fix SimplifiedBackwardsTextIterator's iteration range check as an alternative fix.
1103 The original bug was that double-clicking on an inline editable span at the start of a paragraph would clear the
1104 selection (webkit.org/b/36360). This was caused by upstream/downstream VisbiblePosition complications. To fix,
1105 refuse to iterate beyond the start node (rather than refusing to iterate across editable boundaries, which
1108 To see why this is correct, and to make it clearer that is indeed what is happening, the text iterator code has
1109 been slightly restructured to express the invariant that the iterator will never advance past the start node.
1111 * editing/TextIterator.cpp:
1112 (WebCore::TextIterator::TextIterator): Remove references to TextIterationEndsAtEditing boundary.
1113 (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): Remove m_pastStartNode as the
1114 mechanism for iteration range checking, and use a flag m_havePassedStartNode instead.
1115 (WebCore::SimplifiedBackwardsTextIterator::advance): Clean up, use advanceRespectingRange and
1116 m_havePassedStartNode for iteration range checking rather than m_pastStartNode.
1117 (WebCore::SimplifiedBackwardsTextIterator::advanceRespectingRange): The new way of modifying m_node
1118 which updates m_havePassedStartNode and refuses to continue when it becomes true.
1119 * editing/TextIterator.h: Remove TextIteratorEndsAtEditingBoundary, update for new/removed prototypes and
1121 * editing/visible_units.cpp:
1122 (WebCore::previousBoundary): Remove references to TextIteratorEndsAtEditingBoundary.
1124 2011-02-23 Fumitoshi Ukai <ukai@chromium.org>
1126 Reviewed by Adam Barth.
1128 WebSocket uses insecure random numbers
1129 https://bugs.webkit.org/show_bug.cgi?id=54714
1131 * websockets/WebSocketHandshake.cpp:
1132 (WebCore::randomNumberLessThan):
1133 (WebCore::generateSecWebSocketKey):
1134 (WebCore::generateKey3):
1136 2011-02-21 Hans Wennborg <hans@chromium.org>
1138 Reviewed by Jeremy Orlow.
1140 IndexedDB: Rename IDBSQLiteDatabase to IDBBackingStore
1141 https://bugs.webkit.org/show_bug.cgi?id=54864
1143 No new functionality, so no new tests.
1147 * storage/IDBBackingStore.cpp:
1148 (WebCore::IDBBackingStore::IDBBackingStore):
1149 (WebCore::IDBBackingStore::~IDBBackingStore):
1150 * storage/IDBBackingStore.h:
1151 (WebCore::IDBBackingStore::create):
1152 (WebCore::IDBBackingStore::db):
1153 * storage/IDBCursorBackendImpl.cpp:
1154 (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
1155 (WebCore::IDBCursorBackendImpl::currentRowExists):
1156 (WebCore::IDBCursorBackendImpl::database):
1157 * storage/IDBCursorBackendImpl.h:
1158 (WebCore::IDBCursorBackendImpl::create):
1159 * storage/IDBDatabaseBackendImpl.cpp:
1160 (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
1161 (WebCore::IDBDatabaseBackendImpl::sqliteDatabase):
1162 (WebCore::IDBDatabaseBackendImpl::createObjectStore):
1163 (WebCore::IDBDatabaseBackendImpl::setVersionInternal):
1164 (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
1165 * storage/IDBDatabaseBackendImpl.h:
1166 (WebCore::IDBDatabaseBackendImpl::create):
1167 * storage/IDBFactoryBackendImpl.cpp:
1168 (WebCore::IDBFactoryBackendImpl::removeIDBBackingStore):
1169 (WebCore::openSQLiteDatabase):
1170 (WebCore::IDBFactoryBackendImpl::open):
1171 * storage/IDBFactoryBackendImpl.h:
1172 * storage/IDBIndexBackendImpl.cpp:
1173 (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
1174 (WebCore::IDBIndexBackendImpl::openCursorInternal):
1175 (WebCore::IDBIndexBackendImpl::sqliteDatabase):
1176 * storage/IDBIndexBackendImpl.h:
1177 (WebCore::IDBIndexBackendImpl::create):
1178 * storage/IDBObjectStoreBackendImpl.cpp:
1179 (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
1180 (WebCore::IDBObjectStoreBackendImpl::createIndex):
1181 (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
1182 (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
1183 (WebCore::IDBObjectStoreBackendImpl::sqliteDatabase):
1184 * storage/IDBObjectStoreBackendImpl.h:
1185 (WebCore::IDBObjectStoreBackendImpl::create):
1187 2011-02-23 Dominic Mazzoni <dmazzoni@google.com>
1189 Reviewed by Kenneth Russell.
1191 Add a hit test handler for canvas elements that handles clicks on the canvas but ignores children.
1192 https://bugs.webkit.org/show_bug.cgi?id=54697
1194 New test to prevent this from regressing in the future: canvas/canvas-mouse-events.html
1196 * rendering/RenderHTMLCanvas.cpp:
1197 (WebCore::RenderHTMLCanvas::nodeAtPoint):
1199 2011-02-23 Patrick Gansterer <paroga@webkit.org>
1201 Reviewed by Darin Adler.
1203 Remove obsolete focusRingColor functions
1204 https://bugs.webkit.org/show_bug.cgi?id=54824
1206 * CMakeListsWinCE.txt:
1207 * platform/graphics/haiku/ColorHaiku.cpp:
1208 * platform/graphics/wince/ColorWinCE.cpp: Removed.
1210 2011-02-22 Jia Pu <jpu@apple.com>
1212 Reviewed by Dan Bernstein.
1214 On Mac OS X, English contractions are marked misspelled with certain user preference setting.
1215 https://bugs.webkit.org/show_bug.cgi?id=54975
1217 manual test: manual-tests/autocorrection/spellcheck-on-contraction-when-autocorrection-is-off.html
1219 Without this patch, we check for contraction only when autocorrection or other type of auto-
1220 substituation is on. And we failed to check for contraction if only spellchecking is turned on.
1221 This patch implements the desired behavior, checking for contraction when either correction/substitution,
1222 or spellchecking, is on.
1224 * editing/Editor.cpp:
1225 (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
1226 * manual-tests/autocorrection/spellcheck-on-contraction-when-autocorrection-is-off.html: Added.
1228 2011-02-22 Charlie Reis <creis@chromium.org>
1230 Reviewed by Darin Fisher.
1232 Remove DatabasePolicy from FrameLoaderTypes
1233 https://bugs.webkit.org/show_bug.cgi?id=54968
1235 The DatabasePolicy enum is no longer needed now that we avoid stopping
1236 loaders on same-document navigations.
1238 Existing test: storage/hash-change-with-xhr.html
1241 * loader/DocumentLoader.cpp:
1242 * loader/DocumentLoader.h:
1243 * loader/FrameLoader.cpp:
1244 * loader/FrameLoader.h:
1245 * loader/FrameLoaderTypes.h:
1246 * workers/WorkerThread.cpp:
1248 2011-02-22 Alexis Menard <alexis.menard@openbossa.org>
1250 Reviewed by Andreas Kling.
1252 [Qt] QWebView ignores a palette set with QWebView::setPalette()
1253 https://bugs.webkit.org/show_bug.cgi?id=31742
1255 Use custom QWebView palette if the view provides one.
1256 Modified version of a patch made by Fabrizio Machado.
1258 * platform/qt/RenderThemeQt.cpp:
1259 (WebCore::RenderThemeQt::platformActiveSelectionBackgroundColor):
1260 (WebCore::RenderThemeQt::platformInactiveSelectionBackgroundColor):
1261 (WebCore::RenderThemeQt::platformActiveSelectionForegroundColor):
1262 (WebCore::RenderThemeQt::platformInactiveSelectionForegroundColor):
1263 (WebCore::RenderThemeQt::platformFocusRingColor):
1265 2011-02-22 Brian Salomon <bsalomon@google.com>
1267 Reviewed by Kenneth Russell.
1269 Don't disable accelerated canvas when using the skia gpu backend.
1271 No new tests are required.
1273 * html/canvas/CanvasRenderingContext2D.cpp:
1274 (WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation):
1276 2011-02-22 Luiz Agostini <luiz.agostini@openbossa.org>
1278 Reviewed by Kenneth Rohde Christiansen.
1280 [Qt] <select>s on http://www.ryanair.com render wrong
1281 https://bugs.webkit.org/show_bug.cgi?id=29647
1283 Reducing padding in <select> elements to improve its rendering and introducing a
1284 rendering adjustment specific to QMacStyle.
1286 * platform/qt/RenderThemeQt.cpp:
1287 (WebCore::RenderThemeQt::setPopupPadding):
1288 (WebCore::RenderThemeQt::paintMenuList):
1290 2011-02-22 Andreas Kling <kling@webkit.org>
1292 Reviewed by Dan Bernstein.
1294 FontCache: Make cTargetInactiveFontData an int instead of float.
1295 https://bugs.webkit.org/show_bug.cgi?id=54963
1297 * platform/graphics/FontCache.cpp:
1299 2011-02-22 Ryosuke Niwa <rniwa@webkit.org>
1301 Reviewed by Darin Adler.
1303 Make Editor::selectionComputedStyle return EditingStyle
1304 https://bugs.webkit.org/show_bug.cgi?id=54933
1306 Renamed selectionComputedStyle to selectionStartStyle and changed the return type to EditingStyle.
1307 It also no longer takes a boolean shouldUseFixedFontDefaultSize.
1309 Also added EditingStyle::mergeTypingStyle which replaced old editingStyleIncludingTypingStyle. This function
1310 doesn't extract inheritable properties prior to merge because this turned out be a bug, which was revealed
1311 by an existing layout test only after the code was shared with selectionStartStyle.
1313 No tests are added since this is a refactoring.
1315 * editing/CompositeEditCommand.cpp:
1316 (WebCore::CompositeEditCommand::moveParagraphs): Calls EditingStyle::create and EditingStyle::mergeTypingStyle.
1317 (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Ditto.
1318 * editing/EditingStyle.cpp: Removed editingStyleIncludingTypingStyle.
1319 (WebCore::EditingStyle::mergeTypingStyle): Added.
1320 * editing/EditingStyle.h:
1321 (WebCore::EditingStyle::shouldUseFixedDefaultFontSize): Added.
1322 * editing/Editor.cpp:
1323 (WebCore::Editor::selectionStartHasStyle): Calls selectionStartStyle.
1324 (WebCore::Editor::selectionHasStyle): Ditto.
1325 (WebCore::Editor::selectionStartCSSPropertyValue): Ditto.
1326 (WebCore::Editor::selectionStartStyle): Renamed from selectionComputedStyle; returns EditingStyle.
1328 * editing/EditorCommand.cpp:
1329 (WebCore::executeToggleStyleInList): Calls selectionStartStyle.
1330 * editing/InsertLineBreakCommand.cpp:
1331 * editing/InsertParagraphSeparatorCommand.cpp:
1332 (WebCore::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion): Calls EditingStyle::create and
1333 EditingStyle::mergeTypingStyle.
1334 * editing/ReplaceSelectionCommand.cpp:
1335 (WebCore::ReplaceSelectionCommand::doApply): Ditto.
1337 2011-02-22 Robert Hogan <robert@webkit.org>
1339 Reviewed by Andreas Kling.
1341 [Qt] painting of windowed plugins faulty on certain scroll events
1343 https://bugs.webkit.org/show_bug.cgi?id=52735
1345 Invalidate the pluginview's relative rect rather then the frameRect(). This is because QWebFrame::renderRelativeCoords()
1346 imitates ScrollView and adds the scroll offset back on to the rect we damage here (making the co-ordinates absolute
1347 to the frame again) before passing it to FrameView.
1349 * plugins/qt/PluginViewQt.cpp:
1350 (WebCore::PluginView::updatePluginWidget):
1352 2011-02-22 Philippe Normand <pnormand@igalia.com>
1354 Reviewed by Martin Robinson.
1356 Minimal build broken
1357 https://bugs.webkit.org/show_bug.cgi?id=54743
1359 Moved the code of setInspectorExtensionAPI and
1360 dispatchMessageFromFrontend out of #if
1361 ENABLE(JAVASCRIPT_DEBUGGER) to fix link error of the minimal build.
1363 * inspector/InspectorController.cpp:
1364 (WebCore::InspectorController::setInspectorExtensionAPI):
1365 (WebCore::InspectorController::dispatchMessageFromFrontend):
1367 2011-02-22 Sheriff Bot <webkit.review.bot@gmail.com>
1369 Unreviewed, rolling out r79367.
1370 http://trac.webkit.org/changeset/79367
1371 https://bugs.webkit.org/show_bug.cgi?id=55012
1373 all layout tests are crashing on Snow Leopard (Requested by
1376 * ForwardingHeaders/wtf/DoublyLinkedList.h: Removed.
1378 2011-02-22 Ryosuke Niwa <rniwa@webkit.org>
1380 Reviewed by Darin Adler.
1382 Deploy EditingStyle in removeInlineStyleFromElement and removeCSSStyle
1383 https://bugs.webkit.org/show_bug.cgi?id=54944
1385 Deployed EditingStyle in removeInlineStyleFromElement and removeCSSStyle.
1387 Also extracted EditingStyle::conflictsWithInlineStyleOfElement from ApplyStyleCommand::removeCSSStyle,
1388 which returns true iff the specified element has inline style that conflicts or matches the editing style.
1389 It also appends conflicting property IDs to the vector of property IDs if one is specified.
1391 * editing/ApplyStyleCommand.cpp:
1392 (WebCore::ApplyStyleCommand::applyBlockStyle): Calls removeCSSStyle.
1393 (WebCore::ApplyStyleCommand::applyInlineStyle): Calls shouldSplitTextElement.
1394 (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle): Calls removeInlineStyleFromElement.
1395 (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Takes EditingStyle* instead of CSSMutableStyleDeclaration*.
1396 (WebCore::ApplyStyleCommand::removeCSSStyle): Ditto; extracted the logic to decide properties to remove as
1397 conflictsWithInlineStyleOfElement.
1398 (WebCore::ApplyStyleCommand::highestAncestorWithConflictingInlineStyle): Calls shouldRemoveInlineStyleFromElement.
1399 (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Calls removeInlineStyleFromElement.
1400 (WebCore::ApplyStyleCommand::removeInlineStyle): Ditto.
1401 (WebCore::ApplyStyleCommand::shouldSplitTextElement): Takes EditingStyle* instead of CSSMutableStyleDeclaration*.
1402 * editing/ApplyStyleCommand.h:
1403 (WebCore::ApplyStyleCommand::shouldRemoveInlineStyleFromElement): Ditto.
1404 * editing/EditingStyle.cpp:
1405 (WebCore::EditingStyle::conflictsWithInlineStyleOfElement): Extracted from ApplyStyleCommand::removeCSSStyle.
1406 * editing/EditingStyle.h:
1407 (WebCore::EditingStyle::conflictsWithInlineStyleOfElement): Added.
1409 2011-02-22 Chang Shu <cshu@webkit.org>
1411 Reviewed by Csaba Osztrogonác.
1413 [Qt] editing/deleting/5408255.html fails
1414 https://bugs.webkit.org/show_bug.cgi?id=54964
1416 Move WebCore resource file to QtWebKit since they are referred in WebKit.
1420 2011-02-22 Brady Eidson <beidson@apple.com>
1422 Reviewed by Anders Carlsson.
1424 <rdar://problem/8762042> and https://bugs.webkit.org/show_bug.cgi?id=54514
1425 API to view and delete Application Cache data by origin.
1427 Implement these to be used by WK2 API:
1428 * loader/appcache/ApplicationCacheStorage.cpp:
1429 (WebCore::ApplicationCacheStorage::getOriginsWithCache):
1430 (WebCore::ApplicationCacheStorage::deleteEntriesForOrigin):
1432 2011-02-22 Geoffrey Garen <ggaren@apple.com>
1434 Reviewed by Oliver Hunt.
1436 Manage MarkedBlocks in a linked list instead of a vector, so arbitrary removal is O(1)
1437 https://bugs.webkit.org/show_bug.cgi?id=54999
1441 * ForwardingHeaders/wtf/DoublyLinkedList.h: Copied from ForwardingHeaders/wtf/FixedArray.h.
1443 2011-02-22 Beth Dakin <bdakin@apple.com>
1445 Reviewed by Sam Weinig.
1447 Fix for https://bugs.webkit.org/show_bug.cgi?id=54991
1448 Scrollbar::nativeTheme()->usesOverlayScrollbars() should not be consulted for CSS
1451 <rdar://problem/9034318>
1453 Instead of consulting the theme directly, callers should ask the Scrollbar or
1454 ScrollableArea if the scrollbars are overlay or not.
1456 * platform/ScrollView.cpp:
1457 (WebCore::ScrollView::visibleContentRect):
1458 (WebCore::ScrollView::scrollContents):
1459 (WebCore::ScrollView::wheelEvent):
1460 * platform/ScrollableArea.cpp:
1461 (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
1462 (WebCore::ScrollableArea::hasOverlayScrollbars):
1463 * platform/ScrollableArea.h:
1464 * platform/Scrollbar.cpp:
1465 (WebCore::Scrollbar::isOverlayScrollbar):
1466 * platform/Scrollbar.h:
1467 * rendering/RenderBox.cpp:
1468 (WebCore::RenderBox::includeVerticalScrollbarSize):
1469 (WebCore::RenderBox::includeHorizontalScrollbarSize):
1470 * rendering/RenderLayer.cpp:
1471 (WebCore::RenderLayer::verticalScrollbarWidth):
1472 (WebCore::RenderLayer::horizontalScrollbarHeight):
1473 * rendering/RenderListBox.cpp:
1474 (WebCore::RenderListBox::verticalScrollbarWidth):
1475 * rendering/RenderScrollbar.h:
1476 (WebCore::RenderScrollbar::isOverlayScrollbar):
1478 2011-02-22 Andras Becsi <abecsi@webkit.org>
1480 Reviewed by Csaba Osztrogonác.
1482 [Qt] Redesign the build system
1483 https://bugs.webkit.org/show_bug.cgi?id=51339
1485 Move inspector's resource files into the final build step to fix the layout test regression.
1487 No new tests needed.
1489 * WebCore.pro: Move inspector's resource files into QtWebKit.pro.
1491 2011-02-22 Martin Robinson <mrobinson@igalia.com>
1493 Reviewed by Xan Lopez.
1495 [GTK] fast/frames/iframe-scale-applied-twice.html fails after r79167
1496 https://bugs.webkit.org/show_bug.cgi?id=54990
1498 No new tests. This will cause fast/events/scroll-after-click-on-tab-index.html
1499 to start passing again.
1501 * platform/gtk/ScrollViewGtk.cpp:
1502 (WebCore::ScrollView::visibleContentRect): Update this method to match the original
1503 in the parent class.
1505 2011-01-17 Martin Robinson <mrobinson@igalia.com>
1507 Reviewed by Xan Lopez.
1509 [GTK] fast/events/scroll-after-click-on-tab-index has been failing on the bots
1510 https://bugs.webkit.org/show_bug.cgi?id=49177
1512 * platform/ScrollView.cpp: Remove the GTK+ guards around the implementation
1513 of platformAddChild and platformRemoveChild. This code can be shared.
1514 * platform/gtk/MainFrameScrollbarGtk.cpp:
1515 (MainFrameScrollbarGtk::attachAdjustment): Prevent re-attaching an already attached
1516 adjustment. Connect the adjustment value-changed signal handler after resetting the
1517 adjustment. This prevents the rest from stomping on pre-existing WebCore values.
1518 (MainFrameScrollbarGtk::gtkValueChanged): If the scrollbar is no longer attached to
1519 a scrollview do not listing for value changes. These scrollbars are defunct.
1520 * platform/gtk/ScrollViewGtk.cpp: Remove duplicated empty methods.
1522 2011-02-22 Pavel Feldman <pfeldman@chromium.org>
1524 Reviewed by Yury Semikhatsky.
1526 Web Inspector: refactor InjectedScript : InspectorDOMAgent interaction.
1527 https://bugs.webkit.org/show_bug.cgi?id=54954
1529 * bindings/js/JSInjectedScriptHostCustom.cpp:
1530 (WebCore::InjectedScriptHost::toNode):
1531 (WebCore::JSInjectedScriptHost::inspect):
1532 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1533 (WebCore::InjectedScriptHost::toNode):
1534 (WebCore::V8InjectedScriptHost::inspectCallback):
1535 * inspector/CodeGeneratorInspector.pm:
1536 * inspector/InjectedScript.cpp:
1537 (WebCore::InjectedScript::nodeForObjectId):
1538 * inspector/InjectedScript.h:
1539 * inspector/InjectedScriptHost.cpp:
1540 (WebCore::InjectedScriptHost::inspect):
1541 * inspector/InjectedScriptHost.h:
1542 * inspector/InjectedScriptHost.idl:
1543 * inspector/InjectedScriptSource.js:
1545 * inspector/Inspector.idl:
1546 * inspector/InspectorAgent.cpp:
1547 (WebCore::InspectorAgent::focusNode):
1548 * inspector/InspectorAgent.h:
1549 * inspector/InspectorDOMAgent.cpp:
1550 (WebCore::InspectorDOMAgent::inspect):
1551 (WebCore::InspectorDOMAgent::pushNodeToFrontend):
1552 * inspector/InspectorDOMAgent.h:
1553 * inspector/front-end/AuditRules.js:
1554 (WebInspector.AuditRules.evaluateInTargetWindow):
1555 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
1556 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
1557 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.receivedImages):
1558 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.pushImageNodes):
1559 * inspector/front-end/ConsoleView.js:
1560 (WebInspector.ConsoleView.prototype.completions):
1561 * inspector/front-end/DOMAgent.js:
1562 (WebInspector.DOMDispatcher.prototype.childNodeRemoved):
1563 (WebInspector.DOMDispatcher.prototype.inspectElementRequested):
1564 * inspector/front-end/RemoteObject.js:
1565 (WebInspector.RemoteObject.prototype.pushNodeToFrontend):
1567 2011-02-22 Brady Eidson <beidson@apple.com>
1569 Reviewed by Anders Carlsson.
1571 Part of <rdar://problem/8762042> and https://bugs.webkit.org/show_bug.cgi?id=54514
1572 API to view and delete Application Cache data by origin.
1574 Stub these out for now:
1575 * loader/appcache/ApplicationCacheStorage.cpp:
1576 (WebCore::ApplicationCacheStorage::getOriginsWithCache):
1577 (WebCore::ApplicationCacheStorage::deleteEntriesForOrigin):
1578 (WebCore::ApplicationCacheStorage::deleteAllEntries): Moved implementation here from WebKit/Mac
1579 * loader/appcache/ApplicationCacheStorage.h:
1581 Export the new symbols:
1584 2011-02-22 Anders Carlsson <andersca@apple.com>
1590 2011-02-22 Balazs Kelemen <kbalazs@webkit.org>
1592 Reviewed by Anders Carlsson.
1594 notImplemented() should behave identical in WebCore and WebKit2
1595 https://bugs.webkit.org/show_bug.cgi?id=54449
1597 No functional change so no new tests.
1599 * WebCore.xcodeproj/project.pbxproj: Add NotImplemented.h as private header
1600 to be able to use it in WebKit2.
1602 2011-02-22 Andras Becsi <abecsi@webkit.org>
1604 Reviewed by Laszlo Gombos.
1605 Rubber-stamped by Csaba Osztrogonác.
1607 [Qt] Redesign the build system
1608 https://bugs.webkit.org/show_bug.cgi?id=51339
1610 The patch landed in r79320 didn't contain the cleanup
1611 which was already addressed in the last attachment.
1613 No new tests needed.
1615 * WebCore.pri: Add common LIB and CONFIG options.
1616 * WebCore.pro: Add accidentally moved sections.
1618 2011-02-22 Philippe Normand <pnormand@igalia.com>
1620 Unreviewed, rolling out r79321.
1621 http://trac.webkit.org/changeset/79321
1622 https://bugs.webkit.org/show_bug.cgi?id=53146
1624 Regresses fast/forms/listbox-typeahead-cyrillic.html and fast
1625 /spatial-navigation/snav-single-select.html on GTK
1627 * accessibility/gtk/AXObjectCacheAtk.cpp:
1628 (WebCore::notifyChildrenSelectionChange):
1629 (WebCore::AXObjectCache::postPlatformNotification):
1631 2011-02-22 Ilya Tikhonovsky <loislo@chromium.org>
1633 Reviewed by Yury Semikhatsky.
1635 Web Inspector: Inspector.IDL change. rename attribute notify -> event.
1636 https://bugs.webkit.org/show_bug.cgi?id=54958
1638 * inspector/CodeGeneratorInspector.pm:
1639 * inspector/Inspector.idl:
1641 2011-02-22 Yury Semikhatsky <yurys@chromium.org>
1643 Reviewed by Pavel Feldman.
1645 Web Inspector: Timeline agent should have same lifetime as InspectorAgent
1646 https://bugs.webkit.org/show_bug.cgi?id=54951
1648 * inspector/CodeGeneratorInspector.pm:
1649 * inspector/Inspector.idl:
1650 * inspector/InspectorAgent.cpp:
1651 (WebCore::InspectorAgent::InspectorAgent):
1652 (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
1653 (WebCore::InspectorAgent::setFrontend):
1654 (WebCore::InspectorAgent::disconnectFrontend):
1655 (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
1656 (WebCore::InspectorAgent::didCommitLoad):
1657 (WebCore::InspectorAgent::domContentLoadedEventFired):
1658 (WebCore::InspectorAgent::loadEventFired):
1659 * inspector/InspectorAgent.h:
1660 * inspector/InspectorController.cpp:
1661 (WebCore::InspectorController::startTimelineProfiler):
1662 (WebCore::InspectorController::stopTimelineProfiler):
1663 (WebCore::InspectorController::timelineProfilerEnabled):
1664 * inspector/InspectorInstrumentation.cpp:
1665 (WebCore::InspectorInstrumentation::retrieveTimelineAgent):
1666 * inspector/InspectorTimelineAgent.cpp:
1667 (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
1668 (WebCore::InspectorTimelineAgent::setFrontend):
1669 (WebCore::InspectorTimelineAgent::clearFrontend):
1670 (WebCore::InspectorTimelineAgent::restore):
1671 (WebCore::InspectorTimelineAgent::startTimelineProfiler):
1672 (WebCore::InspectorTimelineAgent::stopTimelineProfiler):
1673 (WebCore::InspectorTimelineAgent::timelineProfilerStarted):
1674 (WebCore::InspectorTimelineAgent::didCommitLoad):
1675 (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
1676 (WebCore::InspectorTimelineAgent::clearRecordStack):
1677 * inspector/InspectorTimelineAgent.h:
1678 (WebCore::InspectorTimelineAgent::create):
1679 * inspector/front-end/TimelinePanel.js:
1680 (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
1682 2011-02-22 Ilya Tikhonovsky <loislo@chromium.org>
1684 Reviewed by Pavel Feldman.
1686 Web Inspector: flakyness of inspector tests.
1687 https://bugs.webkit.org/show_bug.cgi?id=54729
1689 As far as we have the protocol with sequence numbers we can simplify test harness support
1690 and drop out chomium specific methods.
1692 * inspector/CodeGeneratorInspector.pm:
1693 * inspector/front-end/TestController.js:
1694 (WebInspector.TestController):
1695 (WebInspector.TestController.prototype.notifyDone):
1696 (WebInspector.TestController.prototype.runAfterPendingDispatches):
1697 (WebInspector.TestController.prototype._evaluateForTestInFrontend):
1698 * inspector/front-end/inspector.js:
1699 (WebInspector.dispatch):
1701 2011-02-22 Mario Sanchez Prada <msanchez@igalia.com>
1703 Reviewed by Martin Robinson.
1705 [GTK] Combo boxes should emit object:selection-changed even when collapsed
1706 https://bugs.webkit.org/show_bug.cgi?id=53146
1708 Emit the selection-changed signals when the menu list value has changed
1710 Test: platform/gtk/accessibility/combo-box-collapsed-selection-changed.html
1712 * accessibility/gtk/AXObjectCacheAtk.cpp:
1713 (WebCore::getListObject): New, return the right list object for
1714 menu lists and list boxes.
1715 (WebCore::notifyChildrenSelectionChange): Support menu lists.
1716 (WebCore::AXObjectCache::postPlatformNotification): Call function
1717 notifyChildrenSelectionChange for AXMenuListValueChanged.
1719 2011-02-22 Andras Becsi <abecsi@webkit.org>
1721 Reviewed by Laszlo Gombos.
1723 [Qt] Redesign the build system
1724 https://bugs.webkit.org/show_bug.cgi?id=51339
1728 Build WebCore as a static library, compile the WebKit API and WebKit2 API
1729 in a final step and link to WebKit2, WebCore and JSC libraries to fix
1730 linking issues resulting from stripped away symbols.
1732 No new tests needed.
1734 * WebCore.pri: Add needed rules for handling the static library.
1735 * WebCore.pro: Reorganize API and linker options to QtWebKit.pro.
1737 2011-02-22 Pavel Podivilov <podivilov@chromium.org>
1739 Reviewed by Pavel Feldman.
1741 Web Inspector: [REGRESSION] navigation does not work when inspector is opened.
1742 https://bugs.webkit.org/show_bug.cgi?id=54947
1744 * inspector/InspectorAgent.cpp:
1745 (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
1746 * inspector/InspectorState.cpp:
1747 (WebCore::InspectorState::loadFromCookie):
1748 * inspector/InspectorState.h:
1750 2011-02-15 Jer Noble <jer.noble@apple.com>
1752 Reviewed by Darin Adler.
1754 Built-in HTML5 <audio> (and sometimes <video>) UI doesn't update playhead location or time displays
1755 https://bugs.webkit.org/show_bug.cgi?id=46142
1757 Push a LayoutStateMaintainer in RenderMedia::layout() before calling layout() on the
1758 container elements. This is necessary because, during layout(), the child renderers
1759 query the current LayoutState to determine where they will be repainting. If a new
1760 LayoutState is not pushed here, child renderers will attempt to repaint relative to
1761 their grandparent's origin instead of their parents', and repaint operations will fail.
1763 * rendering/RenderMedia.cpp:
1764 (WebCore::RenderMedia::layout):
1766 2011-02-22 Benjamin Poulain <benjamin.poulain@nokia.com>
1768 Reviewed by Kenneth Rohde Christiansen.
1770 Cleaning: remove a overzealous check for the pointer "files" from Chrome::setToolTip()
1771 https://bugs.webkit.org/show_bug.cgi?id=54952
1773 Remove the unnecessary condition from the if(), HTMLInputElement::files() always return
1774 a valid reference for the input type FileInputType.
1777 (WebCore::Chrome::setToolTip):
1779 2011-02-21 Pavel Podivilov <podivilov@chromium.org>
1781 Reviewed by Pavel Feldman.
1783 Web Inspector: extract source mapping from SourceFrame to DebuggerPresentationModel.
1784 https://bugs.webkit.org/show_bug.cgi?id=54645
1786 This is needed to map one script to several source files.
1788 Test: inspector/debugger/source-frame.html
1791 * WebCore.vcproj/WebCore.vcproj:
1792 * inspector/front-end/DebuggerPresentationModel.js: Added.
1793 (WebInspector.DebuggerPresentationModel):
1794 (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceName):
1795 (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
1796 (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
1797 (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved):
1798 (WebInspector.DebuggerPresentationModel.prototype._encodeSourceLocation):
1799 (WebInspector.DebuggerPresentationModel.prototype._actualLocationToSourceLocation):
1800 * inspector/front-end/ScriptsPanel.js:
1801 (WebInspector.ScriptsPanel):
1802 (WebInspector.ScriptsPanel.prototype._breakpointAdded):
1803 (WebInspector.ScriptsPanel.prototype._breakpointRemoved):
1804 (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
1805 (WebInspector.ScriptsPanel.prototype._sourceFrameForScript):
1806 (WebInspector.ScriptsPanel.prototype._addSourceFrame):
1807 (WebInspector.ScriptsPanel.prototype._removeSourceFrame):
1808 (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
1809 (WebInspector.ScriptsPanel.prototype._clearCurrentExecutionLine):
1810 (WebInspector.ScriptsPanel.prototype._callFrameSelected):
1811 (WebInspector.SourceFrameContentProviderForScript.prototype._buildSource):
1812 * inspector/front-end/SourceFrame.js:
1813 (WebInspector.SourceFrame.prototype.get loaded):
1814 (WebInspector.SourceFrame.prototype._createTextViewer):
1815 (WebInspector.SourceFrame.prototype._setTextViewerDecorations):
1816 (WebInspector.SourceFrame.prototype.setExecutionLine):
1817 (WebInspector.SourceFrame.prototype.clearExecutionLine):
1818 (WebInspector.SourceFrame.prototype.addBreakpoint):
1819 (WebInspector.SourceFrame.prototype.removeBreakpoint):
1820 (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint.didEditBreakpointCondition):
1821 (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint):
1822 (WebInspector.SourceFrame.prototype._findBreakpoint.filter):
1823 (WebInspector.SourceFrame.prototype._findBreakpoint):
1824 * inspector/front-end/WebKit.qrc:
1825 * inspector/front-end/inspector.html:
1827 2011-02-22 Andrey Kosyakov <caseq@chromium.org>
1829 Reviewed by Pavel Feldman.
1831 Web Inspector: provide a button to expand inspector toolbar when not all panel buttons fit
1832 https://bugs.webkit.org/show_bug.cgi?id=54671
1834 - factored toolbar handling out of inspector.js
1835 - added toolbar dropdown
1838 * WebCore.vcproj/WebCore.vcproj:
1839 * inspector/front-end/ExtensionServer.js:
1840 (WebInspector.ExtensionServer.prototype._onCreatePanel):
1841 * inspector/front-end/Panel.js:
1842 (WebInspector.Panel.prototype.get toolbarItem):
1843 * inspector/front-end/Toolbar.js: Added.
1844 (WebInspector.Toolbar):
1845 (WebInspector.Toolbar.prototype.resize):
1846 (WebInspector.Toolbar.prototype.addPanel):
1847 (WebInspector.Toolbar.prototype._toolbarDragStart):
1848 (WebInspector.Toolbar.prototype._toolbarDragEnd):
1849 (WebInspector.Toolbar.prototype._toolbarDrag):
1850 (WebInspector.Toolbar.prototype._onClose):
1851 (WebInspector.Toolbar.prototype._setDropdownVisible):
1852 (WebInspector.Toolbar.prototype._toggleDropdown):
1853 (WebInspector.Toolbar.prototype._updateDropdownButtonAndHideDropdown):
1854 (WebInspector.Toolbar.createPanelToolbarItem.onToolbarItemClicked):
1855 (WebInspector.Toolbar.createPanelToolbarItem):
1856 (WebInspector.ToolbarDropdown):
1857 (WebInspector.ToolbarDropdown.prototype.show):
1858 (WebInspector.ToolbarDropdown.prototype.hide):
1859 (WebInspector.ToolbarDropdown.prototype.get visible):
1860 (WebInspector.ToolbarDropdown.prototype._populate):
1861 (WebInspector.ToolbarDropdown.prototype._onKeyDown):
1862 * inspector/front-end/WebKit.qrc:
1863 * inspector/front-end/inspector.css:
1866 (.toolbar-item.toggleable):
1867 (.toolbar-item.toggleable.toggled-on):
1868 (#toolbar-dropdown .toolbar-icon):
1869 (#toolbar-dropdown .toolbar-label):
1870 (#toolbar-controls):
1871 (#toolbar-dropdown-arrow):
1872 (body.attached #toolbar-dropdown-arrow):
1873 (#toolbar-dropdown-arrow.dropdown-visible):
1874 (#toolbar-dropdown-arrow:hover):
1875 (#toolbar-dropdown-arrow:active):
1876 (#toolbar-dropdown):
1877 (body.detached.platform-mac-snowleopard #toolbar-dropdown):
1878 (#toolbar-dropdown .scrollable-content):
1879 (#toolbar-dropdown .toolbar-item):
1880 (#toolbar-dropdown .toolbar-item.toggleable.toggled-on):
1881 (#toolbar-dropdown .toolbar-item:hover):
1882 (#toolbar-dropdown .toolbar-item.toggleable.toggled-on:hover):
1883 (#toolbar-dropdown .toolbar-item:active .toolbar-icon):
1884 (.scrollable-content):
1885 (.scrollable-content::-webkit-scrollbar):
1886 (.scrollable-content::-webkit-resizer):
1887 (.scrollable-content::-webkit-scrollbar-thumb:vertical):
1888 (.scrollable-content::-webkit-scrollbar-thumb:vertical:active):
1889 (.scrollable-content::-webkit-scrollbar-track:vertical):
1890 (.toolbar-search-item):
1892 (body.attached #search):
1893 (#search-results-matches):
1894 (#close-button-left, #close-button-right):
1896 * inspector/front-end/inspector.html:
1897 * inspector/front-end/inspector.js:
1898 (WebInspector.set attached):
1899 (WebInspector.addPanel):
1900 (WebInspector.windowResize):
1902 2011-02-22 Philippe Normand <pnormand@igalia.com>
1904 Reviewed by Xan Lopez.
1906 [GTK] make distcheck fails
1907 https://bugs.webkit.org/show_bug.cgi?id=54943
1909 Added new headers and removed references to deleted files.
1913 2011-02-21 Yury Semikhatsky <yurys@chromium.org>
1915 Reviewed by Pavel Feldman.
1917 Web Inspector: make DOM storage and Database agents have the same lifetime as InspectorAgent
1918 https://bugs.webkit.org/show_bug.cgi?id=54891
1920 * inspector/InspectorAgent.cpp:
1921 (WebCore::InspectorAgent::InspectorAgent):
1922 (WebCore::InspectorAgent::setFrontend):
1923 (WebCore::InspectorAgent::disconnectFrontend):
1924 (WebCore::InspectorAgent::createFrontendLifetimeAgents):
1925 (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
1926 (WebCore::InspectorAgent::didCommitLoad):
1927 * inspector/InspectorAgent.h:
1928 (WebCore::InspectorAgent::instrumentingAgents):
1929 * inspector/InspectorDOMStorageAgent.cpp:
1930 (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
1931 (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent):
1932 (WebCore::InspectorDOMStorageAgent::setFrontend):
1933 (WebCore::InspectorDOMStorageAgent::clearFrontend):
1934 (WebCore::InspectorDOMStorageAgent::selectDOMStorage):
1935 (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId):
1936 (WebCore::InspectorDOMStorageAgent::didUseDOMStorage):
1937 (WebCore::InspectorDOMStorageAgent::clearResources):
1938 * inspector/InspectorDOMStorageAgent.h:
1939 (WebCore::InspectorDOMStorageAgent::create):
1940 * inspector/InspectorDatabaseAgent.cpp:
1941 (WebCore::InspectorDatabaseAgent::didOpenDatabase):
1942 (WebCore::InspectorDatabaseAgent::clearResources):
1943 (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
1944 (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent):
1945 (WebCore::InspectorDatabaseAgent::setFrontend):
1946 (WebCore::InspectorDatabaseAgent::clearFrontend):
1947 (WebCore::InspectorDatabaseAgent::databaseForId):
1948 (WebCore::InspectorDatabaseAgent::selectDatabase):
1949 * inspector/InspectorDatabaseAgent.h:
1950 (WebCore::InspectorDatabaseAgent::create):
1951 * inspector/InspectorInstrumentation.cpp:
1952 (WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
1953 (WebCore::InspectorInstrumentation::didUseDOMStorageImpl):
1955 2011-02-22 Steve Lacey <sjl@chromium.org>
1957 Reviewed by Darin Fisher.
1959 Rename new media statistics apis to better names
1961 https://bugs.webkit.org/show_bug.cgi?id=54784
1963 * html/HTMLMediaElement.cpp:
1964 (WebCore::HTMLMediaElement::webkitAudioDecodedByteCount):
1965 (WebCore::HTMLMediaElement::webkitVideoDecodedByteCount):
1966 * html/HTMLMediaElement.h:
1967 * html/HTMLMediaElement.idl:
1968 * html/HTMLVideoElement.cpp:
1969 (WebCore::HTMLVideoElement::webkitDecodedFrameCount):
1970 (WebCore::HTMLVideoElement::webkitDroppedFrameCount):
1971 * html/HTMLVideoElement.h:
1972 * html/HTMLVideoElement.idl:
1973 * platform/graphics/MediaPlayer.cpp:
1974 (WebCore::MediaPlayer::decodedFrameCount):
1975 (WebCore::MediaPlayer::droppedFrameCount):
1976 (WebCore::MediaPlayer::audioDecodedByteCount):
1977 (WebCore::MediaPlayer::videoDecodedByteCount):
1978 * platform/graphics/MediaPlayer.h:
1979 * platform/graphics/MediaPlayerPrivate.h:
1980 (WebCore::MediaPlayerPrivateInterface::decodedFrameCount):
1981 (WebCore::MediaPlayerPrivateInterface::droppedFrameCount):
1982 (WebCore::MediaPlayerPrivateInterface::audioDecodedByteCount):
1983 (WebCore::MediaPlayerPrivateInterface::videoDecodedByteCount):
1985 2011-02-21 Roland Steiner <rolandsteiner@chromium.org>
1987 Reviewed by Kent Tamura.
1989 Bug 54435 - Simplify CSSStyleSelector::canShareStyleWithElement
1990 https://bugs.webkit.org/show_bug.cgi?id=54435
1992 Changed the function to a series of early-exit 'if's,
1993 removed most temporary variables.
1995 No new tests. (refactoring)
1997 * css/CSSStyleSelector.cpp:
1998 (WebCore::CSSStyleSelector::canShareStyleWithElement):
2000 2011-02-21 Nico Weber <thakis@chromium.org>
2002 Reviewed by James Robinson.
2004 [chromium] PopupContainer::show() confuses clang's -Woverloaded-virtual
2005 https://bugs.webkit.org/show_bug.cgi?id=54923
2007 Rename PopupContainer::show() to showInRect(), to make it obvious it's
2008 not an override of ScrollView::show().
2010 No intended functionality change.
2012 * platform/chromium/PopupMenuChromium.cpp:
2013 (WebCore::PopupContainer::showInRect):
2014 (WebCore::PopupMenuChromium::show):
2015 * platform/chromium/PopupMenuChromium.h:
2017 2011-02-21 Julien Chaffraix <jchaffraix@codeaurora.org>
2019 Reviewed by Antti Koivisto.
2021 Improve the local{SharedStyle,CousinList} algorithm
2022 https://bugs.webkit.org/show_bug.cgi?id=45507
2024 This change improves the algorithm to find shared styles: the old
2025 algorithm would stop the search after the first cousin, even if
2026 the search threshold is not met. As such, the algorithm would
2027 systematically miss sharings across second cousins and beyond.
2028 The new algorithm continues the search, as long as threshold is
2029 not met. It also separates the threshold for sibling/cousins
2030 search, from that on the levels of search, which is easier to
2032 The new algorithm finds up to 30% more sharings on some sites
2033 (e.g. amazon.com and rakuten.co.jp) with no noticeable slowdown.
2035 No new test, refactoring only.
2037 * css/CSSStyleSelector.cpp:
2038 (WebCore::CSSStyleSelector::locateCousinList):
2039 (WebCore::CSSStyleSelector::locateSharedStyle):
2040 While changing the algorithm, cleaned up the style of those 2 methods
2041 (use early return, renamed some variables).
2043 * css/CSSStyleSelector.h:
2045 2011-02-21 Nico Weber <thakis@chromium.org>
2047 Reviewed by Adam Barth.
2049 RenderTableCell::baselinePosition() confuses clang's -Woverloaded-virtual
2050 https://bugs.webkit.org/show_bug.cgi?id=54922
2052 RenderTableCell::baselinePosition() has the same name as a virtual
2053 method in superclass RenderBlock. Rename the subclass method to make
2054 it clear it's not an attempted override.
2056 No intended functionality change.
2058 * rendering/RenderTableCell.cpp:
2059 (WebCore::RenderTableCell::cellBaselinePosition):
2060 * rendering/RenderTableCell.h:
2061 * rendering/RenderTableSection.cpp:
2062 (WebCore::RenderTableSection::calcRowLogicalHeight):
2063 (WebCore::RenderTableSection::layoutRows):
2065 2011-02-21 Benjamin Kalman <kalman@chromium.org>
2067 Reviewed by Ryosuke Niwa.
2069 Extending selection by a boundary granularity (LineBoundary/ParagraphBoundary/DocumentBoundary) sets incorrect
2070 start/end of selection for RTL
2071 https://bugs.webkit.org/show_bug.cgi?id=54724
2073 On mac, the selection should always grow when extending by a boundary granularity (line/paragraph/document).
2074 This is achieved by extending from the start for the "left" direction (e.g. pressing left arrow key), or
2075 extending from the end when for the "right" direction (e.g. pressing right arrow key).
2077 However, this has a bug for RTL text, which should actually extend from the *end* when extending left (since
2078 direction is obviously reversed) and likewise extend from the start when extending right.
2080 * editing/SelectionController.cpp:
2081 (WebCore::SelectionController::modify):
2083 2011-02-21 Nico Weber <thakis@chromium.org>
2085 Reviewed by Adam Barth.
2087 ImageDocument::imageChanged() confuses clang's -Woverride-virtual
2088 https://bugs.webkit.org/show_bug.cgi?id=54924
2090 Rename ImageDocument::imageChanged() to imageUpdated() to make clear
2091 that it's not an override of CachedResourceClient::imageChanged().
2093 * html/ImageDocument.cpp:
2094 (WebCore::ImageDocumentParser::appendBytes):
2095 (WebCore::ImageDocumentParser::finish):
2096 (WebCore::ImageDocument::imageUpdated):
2097 * html/ImageDocument.h:
2099 2011-02-21 Roland Steiner <rolandsteiner@chromium.org>
2101 Reviewed by Kent Tamura.
2103 Bug 54934 - Sort the WebCore project file(s)
2104 https://bugs.webkit.org/show_bug.cgi?id=54934
2106 No new tests. (no code affected)
2109 * WebCore.xcodeproj/project.pbxproj:
2111 2011-02-21 Nico Weber <thakis@chromium.org>
2113 Reviewed by Adam Barth.
2115 canAccommodateEllipsis() confuses clang's -Woverloaded-virtual
2116 https://bugs.webkit.org/show_bug.cgi?id=54909
2118 Rename the overload in RootInlineBox to lineCanAccomodateEllipsis() to
2119 unconfuse clang. No intended functionality change.
2121 * rendering/RenderBlockLineLayout.cpp:
2122 (WebCore::RenderBlock::checkLinesForTextOverflow):
2123 * rendering/RenderFlexibleBox.cpp:
2124 (WebCore::RenderFlexibleBox::applyLineClamp):
2125 * rendering/RootInlineBox.cpp:
2126 (WebCore::RootInlineBox::lineCanAccommodateEllipsis):
2127 * rendering/RootInlineBox.h:
2129 2011-02-21 Adele Peterson <adele@apple.com>
2131 Reviewed by Dan Bernstein.
2133 Fix for for https://bugs.webkit.org/show_bug.cgi?id=54402
2134 REGRESSION (r72052): Placeholder text doesn't have the right padding for search fields on Windows
2136 Test: updated fast/forms/placeholder-position.html and tested manually
2138 Consider padding and margin for the results and cancel buttons. This is important for the Windows
2139 theme which uses padding to correctly position those buttons. This change fixes the placeholder
2140 position, and also better aligns the results popup list with the actual text you type.
2142 * rendering/RenderTextControlSingleLine.cpp:
2143 (WebCore::RenderTextControlSingleLine::clientPaddingLeft):
2144 (WebCore::RenderTextControlSingleLine::clientPaddingRight):
2146 2011-02-21 Nico Weber <thakis@chromium.org>
2148 Reviewed by Kent Tamura.
2150 GIFImageDecoder::setSize() tries to override the superclass method but fails
2151 https://bugs.webkit.org/show_bug.cgi?id=54305
2153 The superclass uses unsigned instead of int for its parameters, so
2154 GIFImageDecoder::setSize() was an overload, not an override.
2156 * platform/image-decoders/gif/GIFImageDecoder.cpp:
2157 (WebCore::GIFImageDecoder::setSize):
2158 * platform/image-decoders/gif/GIFImageDecoder.h:
2160 2011-02-21 Ryosuke Niwa <rniwa@webkit.org>
2162 Reviewed by Darin Adler.
2164 Deploy EditingStyle more in ApplyStyleCommand and do some cleanup
2165 https://bugs.webkit.org/show_bug.cgi?id=54528
2167 * editing/ApplyStyleCommand.cpp:
2168 (WebCore::StyleChange::init): Allows style to be a null pointer.
2169 (WebCore::ApplyStyleCommand::applyInlineStyle): Overrides the value of text-decoration property by that of
2170 -webkit-text-decorations-in-effect and remove the latter property when present. This allows removeImplicitlyStyledElement
2171 to ignore -webkit-text-decorations-in-effect. Also uses the return value of EditingStyle::textDirection to determine
2172 whether or not we need to apply unicode-bidi / direction instead of directly checking the value of unicode-bidi property.
2173 (WebCore::ApplyStyleCommand::fixRangeAndApplyInlineStyle): Takes EditingStyle* instead of CSSMutableStyleDeclaration*.
2174 (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): Ditto.
2175 (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle): Ditto.
2176 (WebCore::ApplyStyleCommand::removeCSSStyle): Ditto.
2177 (WebCore::ApplyStyleCommand::highestAncestorWithConflictingInlineStyle): Ditto.
2178 (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Ditto.
2179 (WebCore::ApplyStyleCommand::removeInlineStyle): Ditto; no longer collapse text decoration properties because
2180 ApplyStyleCommand::applyInlineStyle already does it.
2181 * editing/ApplyStyleCommand.h:
2182 * editing/EditingStyle.cpp:
2183 (WebCore::EditingStyle::textDirection): Exits early when m_mutableStyle is null.
2184 (WebCore::EditingStyle::collapseTextDecorationProperties): Extracted from ApplyStyleCommand::removeInlineStyle.
2185 * editing/EditingStyle.h:
2187 2011-02-21 Mark Rowe <mrowe@apple.com>
2189 Reviewed by Darin Adler and Alexey Proskuryakov.
2191 <http://webkit.org/b/54919> / <rdar://problem/7689300> WebCore should retrieve unclamped frame delays from ImageIO
2193 * platform/graphics/cg/ImageSourceCG.cpp:
2194 (WebCore::ImageSource::frameDurationAtIndex): Look for the unclamped frame delay in the
2195 frame properties dictionary and use that if it exists. If it does not exist in the
2196 dictionary then fall back to using the clamped frame delay.
2198 2011-02-21 James Kozianski <koz@chromium.org>
2200 Reviewed by Kent Tamura.
2202 Causes elements to be unfocusable after tabindex property is removed.
2203 https://bugs.webkit.org/show_bug.cgi?id=54727
2205 Test: fast/html/tabindex-removal.html
2208 (WebCore::Node::clearTabIndexExplicitly):
2210 * dom/NodeRareData.h:
2211 (WebCore::NodeRareData::clearTabIndexExplicitly):
2212 * html/HTMLElement.cpp:
2213 (WebCore::HTMLElement::parseMappedAttribute):
2215 2011-02-21 Alexey Proskuryakov <ap@apple.com>
2217 Reviewed by Mark Rowe.
2219 <rdar://problem/8995483> Remove stubs of unneeded NSURLAuthenticationChallengeSender methods
2221 * platform/network/mac/AuthenticationMac.mm: Remove the stubs that are no longer needed.
2223 2011-02-21 Sam Weinig <sam@webkit.org>
2225 Reviewed by Dan Bernstein.
2227 Overhang areas need to be invalidated on scroll
2228 <rdar://problem/9032194>
2229 https://bugs.webkit.org/show_bug.cgi?id=54917
2231 * platform/ScrollView.cpp:
2232 (WebCore::ScrollView::scrollContents):
2233 We need to explicitly invalidate the overhang areas when we scroll the contents
2234 of a ScrollView, since they could contain arbitrary content that cannot be blitted.
2236 2011-02-21 Lucas Forschler <lforschler@apple.com>
2238 Reviewed by Stephanie Lewis.
2240 Fix the Leopard Debug build by incorporating the RenderSVGAllInOne.cpp
2242 No new tests required.
2244 * WebCore.xcodeproj/project.pbxproj:
2246 2011-02-21 Pratik Solanki <psolanki@apple.com>
2248 Reviewed by Darin Adler.
2250 Remove global initializer in CookieStorageCFNet.cpp
2251 https://bugs.webkit.org/show_bug.cgi?id=54905
2253 * platform/network/cf/CookieStorageCFNet.cpp:
2254 (WebCore::currentCookieStorage):
2255 (WebCore::setCurrentCookieStorage):
2256 (WebCore::setCookieStoragePrivateBrowsingEnabled):
2258 2011-02-18 Jer Noble <jer.noble@apple.com>
2260 Reviewed by Sam Weinig.
2262 WebKit2: Media document videos play only sound, no video (affects trailers.apple.com)
2263 https://bugs.webkit.org/show_bug.cgi?id=54771
2265 Now that video is accelerated, we no longer need to special case
2266 video playing within a media document.
2268 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2269 (WebCore::MediaPlayerPrivateQTKit::preferredRenderingMode):
2270 (WebCore::MediaPlayerPrivateQTKit::supportsAcceleratedRendering):
2272 2011-02-21 Alexey Proskuryakov <ap@apple.com>
2274 Reviewed by Adam Roben.
2276 REGRESSION (WebKit2): HTTP requests time out after 60 seconds
2277 https://bugs.webkit.org/show_bug.cgi?id=54755
2278 <rdar://problem/9006592>
2280 No new tests - it won't be great to have a test that runs for a minute.
2282 It's now possible to set a default timeout to be used at ResourceRequest creation. If one
2283 hasn't been set, ResourceRequest will behave as before (use NSURLRequest default on Mac,
2284 or use INT_MAX on other platforms).
2287 * platform/network/ResourceRequestBase.cpp:
2288 (WebCore::ResourceRequestBase::defaultTimeoutInterval): Get the ResourceRequest notion of
2289 default timeout interval (may be 0 if using NSURLRequest default).
2290 (WebCore::ResourceRequestBase::setDefaultTimeoutInterval): Set the static member variable.
2291 (WebCore::ResourceRequestBase::updatePlatformRequest): Added an assertion that resource
2292 request is updated. Plaform code often calls updateResourceRequest() indirectly from this
2293 function, and that must obviously be a no-op.
2294 (WebCore::ResourceRequestBase::updateResourceRequest): Added an assertion in the opposite
2296 * platform/network/ResourceRequestBase.h: Changed "unspecifiedTimeoutInterval" to
2297 "defaultTimeoutInterval". It has been used as default by most platforms anyway.
2298 (WebCore::ResourceRequestBase::ResourceRequestBase):
2300 * platform/network/mac/ResourceRequestMac.mm: (WebCore::ResourceRequest::doUpdatePlatformRequest):
2301 Now zero is the magic value, not INT_MAX. We'll use NSURLRequest default if neither
2302 setTimeoutInterval() nor setDefaultTimeoutInterval() has been called.
2304 2011-02-21 Martin Robinson <mrobinson@igalia.com>
2306 Reviewed by Xan Lopez.
2308 [GTK] editing/pasteboard/dataTransfer-setData-getData.html fails
2309 https://bugs.webkit.org/show_bug.cgi?id=54895
2311 Correct the GTK+ clipboard implementation to know that "text" is an alias
2312 for "text/html" data. This corrects the failing test.
2314 * platform/gtk/ClipboardGtk.cpp:
2315 (WebCore::dataObjectTypeFromHTMLClipboardType): Accept "text" as well as "Text".
2316 (WebCore::ClipboardGtk::types): Advertise "text" as well as "Text".
2318 2011-02-21 Vsevolod Vlasov <vsevik@chromium.org>
2320 Reviewed by Pavel Feldman.
2322 ProcessingInstruction should provide a way to know if it is of CSS type.
2323 https://bugs.webkit.org/show_bug.cgi?id=54868
2325 * dom/ProcessingInstruction.cpp:
2326 (WebCore::ProcessingInstruction::ProcessingInstruction):
2327 (WebCore::ProcessingInstruction::checkStyleSheet):
2328 (WebCore::ProcessingInstruction::setCSSStyleSheet):
2329 * dom/ProcessingInstruction.h:
2330 (WebCore::ProcessingInstruction::isCSS):
2332 2011-02-21 Simon Fraser <simon.fraser@apple.com>
2334 Put JSDOMImplementationCustom.cpp where it belongs in the project.
2336 * WebCore.xcodeproj/project.pbxproj:
2338 2011-02-21 Gavin Barraclough <barraclough@apple.com>
2340 Reviewed by Sam Weinig.
2342 Bug 54894 - Make inheritance structure described by ClassInfo match C++ class hierarchy.
2344 The ClassInfo objects describe an inheritance hierarchy, with each ClassInfo instance
2345 containing a pointer to its parent class. These links should reflect the inheritance
2346 hierarchy of C++ classes below JSObject. For the large part it does, but in some cases
2347 entries in the C++ hierarchy are skipped over. This presently likely doesn't matter,
2348 since intervening C++ classes may not have ClassInfo - but would be a potential bug
2349 were ClassInfo were to be added.
2351 * bindings/js/JSAudioConstructor.cpp:
2352 * bindings/js/JSDOMGlobalObject.cpp:
2353 * bindings/js/JSImageConstructor.cpp:
2354 * bindings/js/JSOptionConstructor.cpp:
2355 * bindings/scripts/CodeGeneratorJS.pm:
2356 * bridge/objc/objc_runtime.mm:
2357 * bridge/runtime_object.cpp:
2359 2011-02-21 Pavel Feldman <pfeldman@chromium.org>
2361 Reviewed by Yury Semikhatsky.
2363 Web Inspector: navigation does not work after reopening frontend.
2364 https://bugs.webkit.org/show_bug.cgi?id=54879
2366 Test: http/tests/inspector-enabled/open-close-open.html
2368 * inspector/InspectorAgent.cpp:
2369 (WebCore::InspectorAgent::setFrontend):
2370 * inspector/InspectorState.cpp:
2371 (WebCore::InspectorState::unmute):
2372 * inspector/InspectorState.h:
2374 2011-02-21 Adam Roben <aroben@apple.com>
2376 Protect the PluginView when evaluating javascript: URLs
2378 Fixes <http://webkit.org/b/54884> <rdar://problem/9030864>
2379 plugins/get-url-with-javascript-destroying-plugin.html crashing on Windows since it was
2382 Reviewed by Sam Weinig.
2384 * plugins/PluginView.cpp:
2385 (WebCore::PluginView::performRequest): Protect the PluginView, not just its parent frame,
2386 when evaluating javascript: URLs.
2388 2011-02-21 Martin Robinson <mrobinson@igalia.com>
2390 Fix GTK+ build after r79223.
2392 * GNUmakefile.am: Add file missing from the source list.
2394 2011-02-14 Alexander Pavlov <apavlov@chromium.org>
2396 Reviewed by Yury Semikhatsky.
2398 Web Inspector: audits should not warn about gzip compression for 304s
2399 https://bugs.webkit.org/show_bug.cgi?id=54343
2401 Do not run compression-related audits on 304 resources.
2402 Drive-by: handle multi-encoding resources (Content-Encoding: sdhc,gzip) correctly.
2404 * inspector/front-end/AuditRules.js:
2405 (WebInspector.AuditRules.GzipRule.prototype.doRun):
2406 (WebInspector.AuditRules.GzipRule.prototype._isCompressed):
2408 2011-02-08 Anton Muhin <antonm@chromium.org>
2410 Reviewed by Adam Barth and Alexey Proskuryakov.
2412 Propagate security origin of parent document into HTML documents created with DOMImplementation
2413 https://bugs.webkit.org/show_bug.cgi?id=53611
2415 This restores invariant that JS wrappers residing in the same JS context should come
2416 from the same security origin.
2418 Absence of regressions is covered by the current tests. Different security origin of
2419 DOMImplementation is difficult to check with layout tests as DOMImplementation
2420 resides in the same JS context as parent document and therefore there are no security origin checks.
2421 This is observable however in C++.
2423 * Android.jscbindings.mk:
2427 * WebCore.vcproj/WebCore.vcproj:
2428 * WebCore.xcodeproj/project.pbxproj:
2429 * bindings/v8/V8GCController.cpp:
2430 (WebCore::NodeGrouperVisitor::visitDOMWrapper):
2431 * dom/DOMImplementation.cpp:
2432 (WebCore::DOMImplementation::DOMImplementation):
2433 (WebCore::DOMImplementation::createDocument):
2434 * dom/DOMImplementation.h:
2435 (WebCore::DOMImplementation::create):
2436 (WebCore::DOMImplementation::documentDestroyed):
2437 (WebCore::DOMImplementation::parentDocument):
2438 * dom/DOMImplementation.idl:
2440 (WebCore::Document::~Document):
2441 (WebCore::Document::implementation):
2444 2011-02-21 Andrey Adaikin <aandrey@google.com>
2446 Reviewed by Pavel Feldman.
2448 Web Inspector: [Text editor] Optimize editing updates in gutter panel
2449 https://bugs.webkit.org/show_bug.cgi?id=54866
2451 * inspector/front-end/TextViewer.js:
2452 (WebInspector.TextViewer.prototype.set startEditingListener):
2453 (WebInspector.TextViewer.prototype.set endEditingListener):
2454 (WebInspector.TextViewer.prototype.endUpdates):
2455 (WebInspector.TextViewer.prototype._enterInternalTextChangeMode):
2456 (WebInspector.TextViewer.prototype._exitInternalTextChangeMode):
2457 (WebInspector.TextEditorChunkedPanel.prototype._chunkNumberForLine):
2458 (WebInspector.TextEditorGutterPanel.prototype._expandChunks):
2459 (WebInspector.TextEditorGutterPanel.prototype.textChanged):
2460 (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges):
2462 2011-02-21 Alexander Pavlov <apavlov@chromium.org>
2464 Reviewed by Yury Semikhatsky.
2466 Web Inspector: [Audits] Image dimensions in inline style not checked
2467 https://bugs.webkit.org/show_bug.cgi?id=54738
2469 * inspector/front-end/AuditRules.js:
2470 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
2472 2011-02-21 Yury Semikhatsky <yurys@chromium.org>
2474 Reviewed by Pavel Feldman.
2476 Web Inspector: create and destroy DOM agent along with InspectorAgent
2477 https://bugs.webkit.org/show_bug.cgi?id=54875
2482 * WebCore.vcproj/WebCore.vcproj:
2483 * WebCore.xcodeproj/project.pbxproj:
2484 * inspector/InstrumentingAgents.h: Added. Agents that want to instrument WebCore should register themselve
2486 (WebCore::InstrumentingAgents::InstrumentingAgents):
2487 (WebCore::InstrumentingAgents::~InstrumentingAgents):
2488 (WebCore::InstrumentingAgents::inspectorBrowserDebuggerAgent):
2489 (WebCore::InstrumentingAgents::setInspectorBrowserDebuggerAgent):
2490 (WebCore::InstrumentingAgents::inspectorConsoleAgent):
2491 (WebCore::InstrumentingAgents::setInspectorConsoleAgent):
2492 (WebCore::InstrumentingAgents::inspectorDOMAgent):
2493 (WebCore::InstrumentingAgents::setInspectorDOMAgent):
2494 (WebCore::InstrumentingAgents::inspectorDOMStorageAgent):
2495 (WebCore::InstrumentingAgents::setInspectorDOMStorageAgent):
2496 (WebCore::InstrumentingAgents::inspectorDatabaseAgent):
2497 (WebCore::InstrumentingAgents::setInspectorDatabaseAgent):
2498 (WebCore::InstrumentingAgents::inspectorDebuggerAgent):
2499 (WebCore::InstrumentingAgents::setInspectorDebuggerAgent):
2500 (WebCore::InstrumentingAgents::inspectorProfilerAgent):
2501 (WebCore::InstrumentingAgents::setInspectorProfilerAgent):
2502 (WebCore::InstrumentingAgents::inspectorResourceAgent):
2503 (WebCore::InstrumentingAgents::setInspectorResourceAgent):
2504 (WebCore::InstrumentingAgents::inspectorRuntimeAgent):
2505 (WebCore::InstrumentingAgents::setInspectorRuntimeAgent):
2506 (WebCore::InstrumentingAgents::inspectorStorageAgent):
2507 (WebCore::InstrumentingAgents::setInspectorStorageAgent):
2508 (WebCore::InstrumentingAgents::inspectorTimelineAgent):
2509 (WebCore::InstrumentingAgents::setInspectorTimelineAgent):
2510 * inspector/InspectorAgent.cpp:
2511 (WebCore::InspectorAgent::InspectorAgent):
2512 (WebCore::InspectorAgent::setFrontend):
2513 (WebCore::InspectorAgent::disconnectFrontend):
2514 (WebCore::InspectorAgent::createFrontendLifetimeAgents):
2515 (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
2516 (WebCore::InspectorAgent::didCommitLoad):
2517 (WebCore::InspectorAgent::domContentLoadedEventFired):
2518 (WebCore::InspectorAgent::loadEventFired):
2519 * inspector/InspectorAgent.h:
2520 * inspector/InspectorCSSAgent.cpp:
2521 (WebCore::InspectorCSSAgent::InspectorCSSAgent):
2522 (WebCore::InspectorCSSAgent::~InspectorCSSAgent):
2523 * inspector/InspectorCSSAgent.h:
2524 * inspector/InspectorConsoleAgent.cpp:
2525 (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
2526 (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
2527 (WebCore::InspectorConsoleAgent::clearConsoleMessages):
2528 (WebCore::InspectorConsoleAgent::clearFrontend):
2529 (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
2530 (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
2531 (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
2532 (WebCore::InspectorConsoleAgent::addConsoleMessage):
2533 * inspector/InspectorConsoleAgent.h:
2534 * inspector/InspectorDOMAgent.cpp: DOM agent now lives even when the front-end is not attached.
2535 (WebCore::InspectorDOMAgent::InspectorDOMAgent):
2536 (WebCore::InspectorDOMAgent::setFrontend): Add DOM agent to the set of active agents when the front-end
2538 (WebCore::InspectorDOMAgent::clearFrontend):
2539 * inspector/InspectorDOMAgent.h:
2540 (WebCore::InspectorDOMAgent::create):
2542 2011-02-21 Csaba Osztrogonác <ossy@webkit.org>
2544 Reviewed by Andreas Kling.
2546 [Qt][V8]REGRESSION(r79157): Fix build
2547 https://bugs.webkit.org/show_bug.cgi?id=54871
2549 * bridge/npruntime_internal.h: Add one more undef because of evil X11 macro.
2551 2011-02-16 Vitaly Repeshko <vitalyr@chromium.org>
2553 Reviewed by Mihai Parparita.
2555 [V8] SerializedScriptValue: fix JS exception handling.
2556 https://bugs.webkit.org/show_bug.cgi?id=54555
2558 Added checks for exceptions and empty handles:
2559 * bindings/v8/SerializedScriptValue.cpp:
2560 (WebCore::Serializer::Serializer):
2561 (WebCore::Serializer::serialize):
2562 (WebCore::Serializer::checkException):
2563 (WebCore::Serializer::reportFailure):
2564 (WebCore::Serializer::ArrayState::advance):
2565 (WebCore::Serializer::AbstractObjectState::AbstractObjectState):
2566 (WebCore::Serializer::AbstractObjectState::advance):
2567 (WebCore::Serializer::push):
2568 (WebCore::Serializer::handleError):
2569 (WebCore::Serializer::newObjectState):
2570 (WebCore::Serializer::doSerialize):
2571 (WebCore::SerializedScriptValue::SerializedScriptValue):
2573 2011-02-21 Ryosuke Niwa <rniwa@webkit.org>
2575 Reviewed by Kent Tamura.
2577 Add selectionchange event
2578 https://bugs.webkit.org/show_bug.cgi?id=45712
2580 Added the support for asynchronous selectionchange event, which is fired whenever selection is changed.
2581 This event is not cancelable and does not bubble. An event listener can be attached to a document by
2582 body element's onselectionchange attribute or via document's onselectionchange property.
2584 Note that WebKit's implementation fires the event asynchronously whereas Internet Explorer's implementation
2585 fires it synchronously. This implies that a script that modify selection (e.g. via selection's addRange)
2586 will not observe the event before the control returns to JavaScript.
2588 See also: http://msdn.microsoft.com/en-us/library/ms536968(VS.85).aspx
2590 Tests: fast/events/selectionchange-iframe.html
2591 fast/events/selectionchange-user-initiated.html
2594 (WebCore::Document::enqueueDocumentEvent): Added.
2595 * dom/Document.h: Added selectionchange event listener.
2596 * dom/Document.idl: Added onselectionchagne attribute.
2597 * dom/EventNames.h: Added selectionchange
2598 * editing/SelectionController.cpp:
2599 (WebCore::SelectionController::setSelection): Fires selectionchange event.
2600 * html/HTMLAttributeNames.in: Added onselectionchange.
2601 * html/HTMLBodyElement.cpp:
2602 (WebCore::HTMLBodyElement::parseMappedAttribute): Handles onselectionchange attribute.
2604 2011-02-21 Ilya Tikhonovsky <loislo@chromium.org>
2606 Reviewed by Pavel Feldman.
2608 Web Inspector: protocol error messages are dumping incorrectly in Layout tests.
2609 https://bugs.webkit.org/show_bug.cgi?id=54859
2611 * inspector/CodeGeneratorInspector.pm:
2613 2011-02-21 Pavel Feldman <pfeldman@chromium.org>
2615 Reviewed by Yury Semikhatsky.
2617 Web Inspector: generate protocol documentation based on IDL.
2618 https://bugs.webkit.org/show_bug.cgi?id=54822
2620 * inspector/CodeGeneratorInspector.pm:
2622 2011-02-21 Andoni Morales Alastruey <amorales@flumotion.com>
2624 Reviewed by Martin Robinson.
2626 [GStreamer] Add URI queries support in webkitwebsrc
2627 https://bugs.webkit.org/show_bug.cgi?id=54627
2629 This allow replying to URI queries from downstream elements
2630 with the uri currently set in the source element.
2632 No new tests, this feature is dedicated to internal GStreamer use,
2633 such as the upcoming HTTP Live Streaming element.
2635 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2636 (webKitWebSrcQuery):
2638 2011-02-21 Andoni Morales Alastruey <amorales@flumotion.com>
2640 Reviewed by Martin Robinson.
2642 [GStreamer] Add 'location' property in webkitwebsrc
2643 https://bugs.webkit.org/show_bug.cgi?id=54628
2645 No new tests, this feature is dedicated to internal GStreamer use,
2646 such as the upcoming HTTP Live Streaming element.
2648 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2649 (webkit_web_src_class_init):
2650 (webKitWebSrcSetProperty):
2651 (webKitWebSrcGetProperty):
2653 2011-02-17 Ryosuke Niwa <rniwa@webkit.org>
2655 Reviewed by Kent Tamura.
2657 Rename Position::node() to Position::deprecatedNode()
2658 https://bugs.webkit.org/show_bug.cgi?id=54622
2660 Done the rename. All calls to node() are replaced by calls to deprecatedNode() except when
2661 calls were of the form node()->document() and node()->inDocument() in which case they were
2662 replaced by anchorNode()->document() and anchorNode()->inDocument() respectively.
2664 * WebCore.exp.in: Added Position::containerNode.
2666 The rest abbreviated for simplicity. Please see svn log.
2668 2011-02-20 Gavin Barraclough <barraclough@apple.com>
2670 Build fix (remove includes).
2672 * bindings/js/JSDOMBinding.cpp:
2673 * bindings/js/JSDOMWindowCustom.cpp:
2674 * bindings/js/JSHistoryCustom.cpp:
2675 * bindings/js/JSLocationCustom.cpp:
2677 2011-02-20 Gavin Barraclough <barraclough@apple.com>
2679 Reviewed by Oliver Hunt.
2681 https://bugs.webkit.org/show_bug.cgi?id=54839
2682 Remove PrototypeFunction, NativeFunctionWrapper, and GlobalEvalFunction.
2684 Historically, Native functions used to be represented by PrototypeFunctions, however
2685 since introducing call optimizations to the JIT this has used JSFunctions for host
2686 calls too. At the point this change was made, the interpreter continued to use
2687 PrototypeFunctions, however since fallback from the JIT to interpreter was introduced
2688 the interpreter has had to be able to run using host functions represented using
2689 JSFunctions - leading to an unnecessary and redundant divergence in behaviour between
2690 interpreter only builds, and situations where the JIT has fallen back to interpreting.
2692 NativeFunctionWrapper only existed to select between PrototypeFunction and JSFunction
2693 for wrappers for host functions, and as such can also be removed.
2695 GlobalEvalFunction is a redundant wrapper that happens to be derived from
2696 PrototypeFunction. It existed to hold a reference to the global object - but since all
2697 functions how derive from JSObjectWithGlobalObject, this no longer requires an
2698 additional class to provide this functionality.
2700 * bindings/js/JSDOMBinding.cpp:
2701 * bindings/js/JSDOMWindowCustom.cpp:
2702 * bindings/js/JSHistoryCustom.cpp:
2703 * bindings/js/JSLocationCustom.cpp:
2704 Removed use of redundant classes.
2706 2011-02-20 Sheriff Bot <webkit.review.bot@gmail.com>
2708 Unreviewed, rolling out r79169.
2709 http://trac.webkit.org/changeset/79169
2710 https://bugs.webkit.org/show_bug.cgi?id=54846
2712 Made unexpected results for tests without CJK characters
2713 (Requested by tkent on #webkit).
2715 * platform/graphics/chromium/FontCacheChromiumWin.cpp:
2716 (WebCore::FontCache::createFontPlatformData):
2717 * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
2718 (WebCore::FontPlatformData::FontPlatformData):
2719 (WebCore::FontPlatformData::operator=):
2720 * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
2721 (WebCore::FontPlatformData::orientation):
2722 * platform/graphics/skia/FontCustomPlatformData.cpp:
2723 (WebCore::FontCustomPlatformData::fontPlatformData):
2725 2011-02-20 Chun-Lung Huang <alvincl.huang@gmail.com>
2727 Reviewed by Kent Tamura.
2729 On Chromium Windows, glyphs in vertical text tests are rotated 90
2730 degrees clockwise. https://bugs.webkit.org/show_bug.cgi?id=51450
2732 This platform dependent patch makes Chromium Windows show the
2733 vertical writing text correctly. Job was done by adding a prefix '@'
2734 in front of the font family name (Windows Only). No new tests added.
2736 * platform/graphics/chromium/FontCacheChromiumWin.cpp:
2737 (WebCore::FontCache::createFontPlatformData):
2738 * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
2739 (WebCore::FontPlatformData::FontPlatformData):
2740 (WebCore::FontPlatformData::operator=):
2741 * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
2742 (WebCore::FontPlatformData::orientation):
2743 * platform/graphics/skia/FontCustomPlatformData.cpp:
2744 (WebCore::FontCustomPlatformData::fontPlatformData):
2746 2011-02-20 Simon Fraser <simon.fraser@apple.com>
2748 Reviewed by Dirk Schulze.
2750 REGRESSION (r73369-r73405): transform animation interpolates incorrectly
2751 https://bugs.webkit.org/show_bug.cgi?id=54793
2753 After the refactoring in r73380, the ending state for some types of
2754 accelerated animations was computed incorrectly, because the TransformationMatrix
2755 wasn't reset to identity before the ending value transformations were applied.
2757 Fix by cleaning up the code to use explicit, separate values for
2758 starting and ending values. Only matrix-type animations had this
2759 issue, but cleaned up other clauses similarly.
2761 Test: animations/3d/matrix-transform-type-animation.html
2763 * platform/graphics/ca/GraphicsLayerCA.cpp:
2764 (WebCore::GraphicsLayerCA::setTransformAnimationEndpoints):
2766 2011-02-20 Dan Bernstein <mitz@apple.com>
2768 Reviewed by Maciej Stachowiak.
2770 <rdar://problem/9028929> REGRESSION (r75897): Scaling applied twice to an iframe with a transformed ancestor
2772 Test: fast/frames/iframe-scale-applied-twice.html
2774 * page/FrameView.cpp:
2775 (WebCore::FrameView::create): Set the initial bounds of the view to match the
2777 * platform/ScrollView.cpp:
2778 (WebCore::ScrollView::visibleContentRect): Based on bounds, not frame size.
2779 (WebCore::ScrollView::updateScrollbars): Ditto.
2780 (WebCore::ScrollView::setFrameRect): Moved code that really handles bounds size
2781 change to setBoundsSize().
2782 (WebCore::ScrollView::setBoundsSize): Added.
2783 (WebCore::ScrollView::setInitialBoundsSize): Added. Sets the bounds size but does
2784 not update anything.
2785 (WebCore::ScrollView::frameRectsChanged): Based on bounds, not frame size.
2786 (WebCore::ScrollView::scrollbarCornerPresent): Ditto.
2787 * platform/ScrollView.h:
2788 (WebCore::ScrollView::boundsSize): Added this getter.
2789 * platform/Widget.h:
2790 (WebCore::Widget::resize): Set the bounds size to the frame size.
2791 * platform/mac/ScrollbarThemeMac.mm:
2792 (WebCore::ScrollbarThemeMac::paint): Fixed an error in the indirect drawing code
2793 path where the buffer rect was resized to capture only the damaged part, but was
2794 still drawn in the original location.
2796 2011-02-20 Alexey Proskuryakov <ap@apple.com>
2798 Reviewed by Eric Seidel.
2800 Tighten up access permissions by using libxslt API
2801 https://bugs.webkit.org/show_bug.cgi?id=52688
2802 <rdar://problem/8909191>
2804 * xml/XSLTProcessorLibxslt.cpp: (WebCore::XSLTProcessor::transformToString): We are only
2805 interested in a string result, so let libxslt know about that.
2807 2011-02-20 Sheriff Bot <webkit.review.bot@gmail.com>
2809 Unreviewed, rolling out r79104.
2810 http://trac.webkit.org/changeset/79104
2811 https://bugs.webkit.org/show_bug.cgi?id=54835
2813 Might have caused flaky canaries (Requested by tonyg-cr on
2816 * html/parser/HTMLDocumentParser.cpp:
2817 (WebCore::HTMLDocumentParser::canTakeNextToken):
2818 (WebCore::HTMLDocumentParser::pumpTokenizer):
2819 * html/parser/HTMLParserScheduler.cpp:
2820 (WebCore::isLayoutTimerActive):
2821 * html/parser/HTMLParserScheduler.h:
2822 (WebCore::HTMLParserScheduler::checkForYieldBeforeToken):
2825 2011-02-20 Dirk Schulze <krit@webkit.org>
2827 Reviewed by Nikolas Zimmermann.
2829 SVG animation - analyze attribute type for animation
2830 https://bugs.webkit.org/show_bug.cgi?id=54542
2832 Analyze animated attribute type to determine the kind of animation. Removed enum PropertyType and replace it
2833 with AnimatedAttributeType instead. More cleanup of the animation code.
2834 Added missing fillAttributeToPropertyTypeMap() for SVGGElement.
2836 Use QualifiedName instead of AtomicStrings for attribute names. This makes it easier to handle animated attributes
2837 from a different namespace like xlink:href. The rest of the SVG code is using QualifiedNames as well.
2839 No change of functionality on the animation code. The changes for the <g>-element affect animateTransform. Sadly
2840 animateTransform is not supported by our SVG animation test script at the moment. Can still be tested manually
2841 with the W3C test suite in trunk.
2843 The change on SVGUseElement gets covered by animate-elem-39-t.svg
2845 Test: svg/animations/animate-dynamic-update-attributeName.html
2847 * svg/SVGAnimateElement.cpp:
2848 (WebCore::SVGAnimateElement::SVGAnimateElement):
2849 (WebCore::SVGAnimateElement::hasValidAttributeType):
2850 (WebCore::SVGAnimateElement::determineAnimatedAttributeType):
2851 (WebCore::SVGAnimateElement::calculateAnimatedValue):
2852 (WebCore::inheritsFromProperty):
2853 (WebCore::SVGAnimateElement::calculateFromAndToValues):
2854 (WebCore::SVGAnimateElement::calculateFromAndByValues):
2855 (WebCore::SVGAnimateElement::resetToBaseValue):
2856 (WebCore::SVGAnimateElement::applyResultsToTarget):
2857 (WebCore::SVGAnimateElement::calculateDistance):
2858 * svg/SVGAnimateElement.h:
2859 * svg/SVGAnimateMotionElement.cpp:
2860 (WebCore::SVGAnimateMotionElement::hasValidAttributeType):
2861 (WebCore::parsePoint):
2862 (WebCore::SVGAnimateMotionElement::resetToBaseValue):
2863 (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
2864 (WebCore::SVGAnimateMotionElement::calculateDistance):
2865 * svg/SVGAnimateMotionElement.h:
2866 * svg/SVGAnimateTransformElement.cpp:
2867 (WebCore::SVGAnimateTransformElement::hasValidAttributeType):
2868 (WebCore::SVGAnimateTransformElement::determineAnimatedAttributeType):
2869 (WebCore::SVGAnimateTransformElement::resetToBaseValue):
2870 (WebCore::SVGAnimateTransformElement::calculateAnimatedValue):
2871 (WebCore::SVGAnimateTransformElement::calculateFromAndByValues):
2872 (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
2873 (WebCore::SVGAnimateTransformElement::calculateDistance):
2874 * svg/SVGAnimateTransformElement.h:
2875 * svg/SVGAnimationElement.cpp:
2876 (WebCore::parseKeyTimes):
2877 (WebCore::parseKeySplines):
2878 (WebCore::SVGAnimationElement::isTargetAttributeCSSProperty):
2879 (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
2880 (WebCore::SVGAnimationElement::calculateKeyTimesForCalcModePaced):
2881 (WebCore::solveEpsilon):
2882 (WebCore::SVGAnimationElement::calculatePercentFromKeyPoints):
2883 (WebCore::SVGAnimationElement::currentValuesFromKeyPoints):
2884 (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
2885 (WebCore::SVGAnimationElement::startedActiveInterval):
2886 * svg/SVGAnimationElement.h:
2887 * svg/SVGFilterElement.cpp:
2888 (WebCore::SVGFilterElement::fillAttributeToPropertyTypeMap):
2889 * svg/SVGGElement.cpp:
2890 (WebCore::SVGGElement::attributeToPropertyTypeMap):
2891 (WebCore::SVGGElement::fillAttributeToPropertyTypeMap): Added to fill the animated attribute map for this element.
2892 * svg/SVGGElement.h:
2893 * svg/SVGUseElement.cpp:
2894 (WebCore::SVGUseElement::fillAttributeToPropertyTypeMap): Changed attribute type to AnimatedString for xlink:href.
2895 * svg/animation/SMILTimeContainer.cpp:
2896 (WebCore::SMILTimeContainer::baseValueFor):
2897 (WebCore::SMILTimeContainer::updateAnimations):
2898 * svg/animation/SMILTimeContainer.h:
2899 * svg/animation/SVGSMILElement.cpp:
2900 (WebCore::SVGSMILElement::SVGSMILElement):
2901 (WebCore::constructQualifiedName): Create a QualifiedName from a attribute name.
2902 (WebCore::SVGSMILElement::insertedIntoDocument): Update local varaible of attribute name.
2903 (WebCore::SVGSMILElement::removedFromDocument): Ditto.
2904 (WebCore::SVGSMILElement::attributeChanged): Ditto.
2905 * svg/animation/SVGSMILElement.h:
2906 (WebCore::SVGSMILElement::attributeName):
2908 2011-02-20 David Kilzer <ddkilzer@apple.com>
2910 BUILD FIX: Add missing UNUSED_PARAM() when !ENABLE(FULLSCREEN_API)
2914 * rendering/RenderLayerCompositor.cpp:
2915 (WebCore::RenderLayerCompositor::requiresCompositingForFullScreen):
2917 2011-02-20 Carlos Garcia Campos <cgarcia@igalia.com>
2919 Reviewed by Martin Robinson.
2921 [GTK] Implement PlatformKeyboardEvent::getCurrentModifierState()
2922 https://bugs.webkit.org/show_bug.cgi?id=52880
2924 * platform/gtk/KeyEventGtk.cpp:
2925 (WebCore::PlatformKeyboardEvent::getCurrentModifierState):
2927 2011-02-19 Andreas Kling <kling@webkit.org>
2929 Reviewed by Oliver Hunt.
2931 DragController should use Color::serialized() when passing colors to CSSStyleDeclaration
2932 https://bugs.webkit.org/show_bug.cgi?id=54545
2934 * page/DragController.cpp:
2935 (WebCore::DragController::concludeEditDrag):
2937 2011-02-19 Sam Weinig <sam@webkit.org>
2939 Reviewed by Anders Carlsson.
2941 Add phase in addition to momentumPhase to platform wheel events
2942 Part of <rdar://problem/8945362>
2944 Rename existing phase to momentumPhase.
2946 * platform/PlatformWheelEvent.h:
2947 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2948 (WebCore::PlatformWheelEvent::momentumPhase):
2949 * platform/mac/ScrollAnimatorMac.mm:
2950 (WebCore::ScrollAnimatorMac::handleWheelEvent):
2951 (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
2952 * platform/mac/WheelEventMac.mm:
2953 (WebCore::momentumPhaseForEvent):
2954 (WebCore::phaseForEvent):
2955 (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2957 2011-02-19 Gavin Barraclough <barraclough@apple.com>
2961 * bridge/runtime_method.h:
2962 (JSC::RuntimeMethod::createStructure):
2964 2011-02-19 Gavin Barraclough <barraclough@apple.com>
2968 * bridge/qt/qt_instance.cpp:
2969 * bridge/qt/qt_pixmapruntime.cpp:
2971 2011-02-19 Gavin Barraclough <barraclough@apple.com>
2975 * bridge/qt/qt_instance.cpp:
2976 (JSC::Bindings::QtInstance::getMethod):
2977 * bridge/qt/qt_pixmapruntime.cpp:
2978 (JSC::Bindings::QtPixmapInstance::getMethod):
2980 2011-02-18 Gavin Barraclough <barraclough@apple.com>
2982 Reviewed by Sam Weinig.
2984 Bug 54786 - Devirtualize JSCell::classInfo()
2986 Instead of making a virtual function call, add a pointer to the ClassInfo
2989 This removes a virtual function call, and paves the way towards removing all
2990 the createStructure methods, and StructureFlags/AnonymousSlotCount properties
2991 (these should be able to move onto ClassInfo).
2993 Calls to Structure::create must now pass a pointer to the ClassInfo for the
2994 structure. All objects now have a ClassInfo pointer, non-object cell types
2997 Changes are most mechanical, involving three steps:
2998 * Remove virtual classInfo() methods.
2999 * Add &s_info parameter to calls to Structure::create.
3000 * Rename ClassInfo static members on classes from 'info' to 's_info',
3004 * bindings/js/JSAudioConstructor.cpp:
3005 * bindings/js/JSAudioConstructor.h:
3006 * bindings/js/JSDOMBinding.cpp:
3007 * bindings/js/JSDOMBinding.h:
3008 * bindings/js/JSDOMGlobalObject.cpp:
3009 * bindings/js/JSDOMGlobalObject.h:
3010 * bindings/js/JSDOMWindowBase.cpp:
3011 * bindings/js/JSDOMWindowBase.h:
3012 * bindings/js/JSDOMWindowShell.cpp:
3013 * bindings/js/JSDOMWindowShell.h:
3014 * bindings/js/JSGeolocationCustom.cpp:
3015 * bindings/js/JSImageConstructor.cpp:
3016 * bindings/js/JSImageConstructor.h:
3017 * bindings/js/JSImageDataCustom.cpp:
3018 * bindings/js/JSOptionConstructor.cpp:
3019 * bindings/js/JSOptionConstructor.h:
3020 * bindings/js/JSWorkerContextBase.cpp:
3021 * bindings/js/JSWorkerContextBase.h:
3022 * bindings/js/SerializedScriptValue.cpp:
3023 * bindings/scripts/CodeGeneratorJS.pm:
3024 * bridge/c/CRuntimeObject.cpp:
3025 * bridge/c/CRuntimeObject.h:
3026 * bridge/c/c_instance.cpp:
3027 * bridge/jni/jsc/JNIUtilityPrivate.cpp:
3028 * bridge/jni/jsc/JavaInstanceJSC.cpp:
3029 * bridge/jni/jsc/JavaRuntimeObject.cpp:
3030 * bridge/jni/jsc/JavaRuntimeObject.h:
3031 * bridge/jsc/BridgeJSC.cpp:
3032 * bridge/objc/ObjCRuntimeObject.h:
3033 * bridge/objc/ObjCRuntimeObject.mm:
3034 * bridge/objc/objc_instance.mm:
3035 * bridge/objc/objc_runtime.h:
3036 * bridge/objc/objc_runtime.mm:
3037 * bridge/runtime_array.cpp:
3038 * bridge/runtime_array.h:
3039 * bridge/runtime_method.cpp:
3040 * bridge/runtime_method.h:
3041 * bridge/runtime_object.cpp:
3042 * bridge/runtime_object.h:
3044 2011-02-19 Zan Dobersek <zandobersek@gmail.com>
3046 Reviewed by Martin Robinson.
3048 [cairo][canvas] Drawing from/into float rectangles with width or height in range 0 to 1 fails
3049 https://bugs.webkit.org/show_bug.cgi?id=54491
3051 When width or height in float rectangle are in range (0, 0.5) or (-0.5, 0)
3052 and would round to 0, alter the behaviour to ensure that width or height are
3053 at least 1 pixel in size in these cases.
3055 * platform/graphics/cairo/GraphicsContextCairo.cpp:
3056 (WebCore::GraphicsContext::roundToDevicePixels):
3058 2011-02-19 Dan Bernstein <mitz@apple.com>
3060 LLVM Compiler build fix.
3062 * platform/graphics/ShadowBlur.cpp:
3063 (WebCore::ShadowBlur::blurLayerImage): Eliminated a file static that generated
3064 a global initializer since the compiler does not evaluate sqrtf at compile time.
3066 2011-02-19 Brian Ryner <bryner@chromium.org>
3068 Reviewed by Adam Barth.
3070 Replace the #include of DocumentLoader.h in Document.h with a
3071 forward declaration, and add a missing #include now that this
3072 transitive include is gone.
3073 https://bugs.webkit.org/show_bug.cgi?id=50489
3075 No new tests required.
3077 * bindings/ScriptControllerBase.cpp:
3080 2011-02-19 Patrick Gansterer <paroga@webkit.org>
3082 Reviewed by Antonio Gomes.
3084 [EFL] Remove WebCore::currentTime()
3085 https://bugs.webkit.org/show_bug.cgi?id=53886
3087 There is no declaration for it and we use WTF::currentTime() everywhere.
3089 * platform/efl/SystemTimeEfl.cpp:
3091 2011-02-19 Patrick Gansterer <paroga@webkit.org>
3093 Reviewed by Andreas Kling.
3095 Move KeygenWinCE from wince into win directory
3096 https://bugs.webkit.org/show_bug.cgi?id=54804
3098 Move this file into the win directory, since it can be used on all windows platforms.
3100 * CMakeListsWinCE.txt:
3101 * platform/win/SSLKeyGeneratorWin.cpp: Renamed from platform/wince/KeygenWinCE.cpp.
3103 2011-02-19 Patrick Gansterer <paroga@webkit.org>
3105 Reviewed by Andreas Kling.
3107 Make FileChooserWin.cpp more portable and use it on WinCE
3108 https://bugs.webkit.org/show_bug.cgi?id=54803
3110 * CMakeListsWinCE.txt:
3111 * platform/win/FileChooserWin.cpp:
3112 (WebCore::FileChooser::basenameForWidth):
3113 * platform/wince/FileChooserWinCE.cpp: Removed.
3115 2011-02-19 James Simonsen <simonjam@chromium.org>
3117 Reviewed by Adam Barth.
3119 Make ScriptElement match the HTML5 spec
3120 https://bugs.webkit.org/show_bug.cgi?id=54676
3122 This implements the "prepare a script" section of the HTML5 spec in ScriptElement::prepareScript().
3123 http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting-1.html#prepare-a-script
3125 There are a couple of things missing from the spec that would be new functionality. These will be added later.
3126 - Support for async=false
3127 - Empty src attribute should dispatch an error.
3129 There are a couple of slight behavioral changes to match the spec.
3130 - An XHTML script that is loaded then copied will not fire load on the copy.
3131 - If onbeforeload moves the script to a different document, then it will not try to execute again because wasAlreadyStarted is true.
3133 The parsers were updated to use the new API, but not rewritten to look like the spec. That will be done separately.
3135 Test: All existing tests.
3137 * dom/ScriptElement.cpp: Rewritten to match HTML5 spec.
3138 (WebCore::ScriptElement::ScriptElement):
3139 (WebCore::ScriptElement::insertedIntoDocument): Logic moved to prepareScript.
3140 (WebCore::ScriptElement::childrenChanged): Logic moved to prepareScript.
3141 (WebCore::ScriptElement::handleSourceAttribute): Logic moved to prepareScript.
3142 (WebCore::isLegacySupportedJavaScriptLanguage): Added to support old script types in layout tests.
3143 (WebCore::ScriptElement::isScriptTypeSupported): Derived from old shouldExecuteAsJavaScript().
3144 (WebCore::ScriptElement::prepareScript): START HERE. Main change. Should read exactly like HTML5's "prepare a script." Legacy type support needed for layout tests using XML parser.
3145 (WebCore::ScriptElement::requestScript): Most logic moved to prepareScript. Check security settings here.
3146 (WebCore::ScriptElement::executeScript): Combined evaluateScript() and executeScript() from old code. Logic moved to prepareScript.
3147 (WebCore::ScriptElement::stopLoadRequest): Ignore parser executed scripts.
3148 (WebCore::ScriptElement::execute): Renamed executeScript.
3149 (WebCore::ScriptElement::notifyFinished): We should only listen for non-parser executed scripts.
3150 (WebCore::ScriptElement::ignoresLoadRequest): New variable names.
3151 (WebCore::ScriptElement::childrenAreCommentsOrEmptyText): Added for HTML5 compliance.
3152 (WebCore::ScriptElement::scriptCharset): Use HTML5 variables.
3153 * dom/ScriptElement.h:
3154 (WebCore::ScriptElement::willBeParserExecuted): Added.
3155 (WebCore::ScriptElement::readyToBeParserExecuted): Added.
3156 (WebCore::ScriptElement::willExecuteWhenDocumentFinishedParsing): Added.
3157 (WebCore::ScriptElement::cachedScript): prepareScript() is the only place that should load scripts. This accessor lets the parsers listen for when loads finish.
3158 (WebCore::ScriptElement::isParserInserted): Added.
3159 * dom/XMLDocumentParserLibxml2.cpp:
3160 (WebCore::XMLDocumentParser::endElementNs): Should behave the same. Offloads much of its work to prepareScript().
3161 * dom/XMLDocumentParserQt.cpp:
3162 (WebCore::XMLDocumentParser::parseEndElement): Identical to libxml2 changes.
3163 * html/HTMLScriptElement.cpp:
3164 (WebCore::HTMLScriptElement::insertedIntoDocument): No longer needs url.
3165 (WebCore::HTMLScriptElement::hasSourceAttribute): Added.
3166 * html/HTMLScriptElement.h:
3167 * html/parser/HTMLScriptRunner.cpp:
3168 (WebCore::HTMLScriptRunner::requestPendingScript): Requesting scripts offloaded to ScriptElement.
3169 (WebCore::HTMLScriptRunner::runScript): Should behave the same. Offloads much of its work to prepareScript().
3170 * svg/SVGScriptElement.cpp:
3171 (WebCore::SVGScriptElement::svgAttributeChanged): New ScriptElement function names.
3172 (WebCore::SVGScriptElement::insertedIntoDocument): No longer needs url.
3173 (WebCore::SVGScriptElement::finishParsingChildren): ScriptElement::finishParsingChildren is gone.
3174 (WebCore::SVGScriptElement::hasSourceAttribute): Added.
3175 (WebCore::SVGScriptElement::dispatchLoadEvent): New ScriptElement function names.
3176 * svg/SVGScriptElement.h:
3178 2011-02-19 Marc-Antoine Ruel <maruel@chromium.org>
3180 Reviewed by James Robinson.
3182 Split webcore_rendering off webcore_remaining to reduce its size for WPO builds
3183 https://bugs.webkit.org/show_bug.cgi?id=54789
3185 * WebCore.gyp/WebCore.gyp:
3187 2011-02-19 Bill Budge <bbudge@chromium.org>
3189 Reviewed by David Levin.
3191 ThreadableLoaderClient needs willSendRequest method
3192 https://bugs.webkit.org/show_bug.cgi?id=54688
3194 No new tests. Exposes no new functionality
3197 * loader/DocumentThreadableLoader.cpp:
3198 (WebCore::DocumentThreadableLoader::willSendRequest):
3199 (WebCore::DocumentThreadableLoader::didReceiveData):
3200 (WebCore::DocumentThreadableLoader::didReceiveCachedMetadata):
3201 * loader/DocumentThreadableLoaderClient.h: Added.
3202 (WebCore::DocumentThreadableLoaderClient::isDocumentThreadableLoaderClient):
3203 (WebCore::DocumentThreadableLoaderClient::willSendRequest):
3204 * loader/ThreadableLoaderClient.h:
3205 (WebCore::ThreadableLoaderClient::isDocumentThreadableLoaderClient):
3207 2011-02-19 Charlie Reis <creis@chromium.org>
3209 Reviewed by Mihai Parparita.
3211 Ensure loading has stopped in HistoryController::goToItem
3212 https://bugs.webkit.org/show_bug.cgi?id=54517
3214 Avoid stopping all loaders in goToItem for same document navigations
3215 or pseudo-back-forward URLs. Make HistoryController::goToItem private
3216 to force callers to go through Page::goToItem. Also add a callback to
3217 FrameLoaderClient to let clients decide whether to stop loading first.
3219 Test: http/tests/navigation/forward-to-fragment-fires-onload.html
3221 * loader/EmptyClients.h:
3222 * loader/FrameLoader.h:
3223 * loader/FrameLoaderClient.h:
3224 * loader/HistoryController.cpp:
3225 * loader/HistoryController.h:
3228 2011-02-19 Adam Barth <abarth@webkit.org>
3230 Reviewed by Daniel Bates.
3232 Fix xssAuditor/iframe-injection.html
3233 https://bugs.webkit.org/show_bug.cgi?id=54591
3235 We should block the iframe src attribute. Although this technically
3236 can't be used to run script, it's a pretty easy vector for stealing
3239 * html/parser/XSSFilter.cpp:
3240 (WebCore::XSSFilter::filterTokenInitial):
3241 (WebCore::XSSFilter::filterIframeToken):
3242 * html/parser/XSSFilter.h:
3244 2011-02-18 Tony Gentilcore <tonyg@chromium.org>
3246 Reviewed by Eric Seidel.
3248 Let the parser yield for layout before running scripts
3249 https://bugs.webkit.org/show_bug.cgi?id=54355
3251 Prior to this patch, the parser would yield to perform a layout/paint before running a
3252 script only if the script or a stylesheet blocking the script is not loaded yet. Since we
3253 don't preload scan into the body while parsing the head, typically we'll block on a script
3254 early in the body that causes us to yield to do the first paint within a reasonable time.
3256 However, I'm planning to change the PreloadScanner to scan into the body from the head.
3257 That significantly improves overall load time, but would hurt first paint time because
3258 fewer scripts would be blocked during parsing and thus wouldn't yield.
3260 This change causes us to yield before running scripts if we haven't painted yet (regardless
3261 of whether or not the script is loaded). In addition to allowing the above mentioned
3262 PreloadScanner change to be implemented without regressing first paint time, this also
3263 improves first paint time by itself.
3265 I tested Alexa's top 45 websites using Web Page Replay to control the content and simulate
3266 bandwidth. This patch improved average first paint time by 1% over an unlimited connection,
3267 6% over a 1Mbps connection and 11% over a 5Mbps connection. There was no statistically
3268 signifcant change in page load time.
3270 Within the pages tested, 33 had no statistically significant change in time to first paint,
3271 12 improved, and none regressed. Of the improved, some of the standouts from the 1Mbps set
3272 are: 20% on youtube, 37% on wiki, 27% on ebay, 13% on cnn, 16% on espn, 74% on sohu.
3274 * html/parser/HTMLDocumentParser.cpp:
3275 (WebCore::HTMLDocumentParser::canTakeNextToken): This is the new yield point.
3276 (WebCore::HTMLDocumentParser::pumpTokenizer): Remove ASSERT that we are not paused. isPaused
3277 means that we are waiting for a script. Bug 54574 changed pumpTokenizer() so that it does
3278 the right thing whether we are just before a token or waiting for a script. Now that we may
3279 yield before a token or before a script, this may be called while paused.
3280 * html/parser/HTMLParserScheduler.cpp:
3281 (WebCore::isLayoutTimerActive): Added a FIXME because r52919 changed minimumLayoutDelay()
3282 to return m_extraLayoutDelay instead of 0 as a minimum. So checking !minimumLayoutDelay()
3283 no longer works. The fix is to change it to check minimumLayoutDelay() ==
3284 m_extraLayoutDelay. But this is all the more reason to move this method onto Document. I'll
3285 do this in a follow up.
3286 (WebCore::HTMLParserScheduler::checkForYieldBeforeScript): Added.
3288 (WebCore::FrameView::hasEverPainted): Added.
3290 2011-02-18 Dawit Alemayehu <adawit@kde.org>
3292 Reviewed by Andreas Kling.
3294 [Qt] Button Element is rendered w/ text off-center.
3295 https://bugs.webkit.org/show_bug.cgi?id=53373
3297 Test: LayoutTests/fast/forms/button-white-space.html
3299 * platform/qt/RenderThemeQt.cpp:
3300 (WebCore::RenderThemeQt::adjustButtonStyle):
3302 2011-02-18 Jonathan Backer <backer@chromium.org>
3304 Reviewed by Eric Seidel.
3306 [chromium] Fix leak of texture IDs in compositor.
3307 https://bugs.webkit.org/show_bug.cgi?id=54750
3309 No new tests. It is extremely unlikely that this leak would have
3310 any user visible impact because only a few bytes of space are wasted
3311 (we're leaking texture IDs, not actual textures) and the space of
3312 texture IDs is large (32 bits).
3314 * platform/graphics/chromium/TextureManager.cpp:
3315 (WebCore::TextureManager::requestTexture):
3317 2011-02-18 Yi Shen <yi.4.shen@nokia.com>
3319 Reviewed by Tor Arne Vestbø.
3321 Always display the media controls when requiresFullscreenForVideoPlayback() is true
3322 https://bugs.webkit.org/show_bug.cgi?id=54308
3324 For video element, it should have controls when
3325 Chrome::requiresFullscreenForVideoPlayback() is true.
3327 * html/HTMLMediaElement.cpp:
3328 (WebCore::HTMLMediaElement::controls):
3330 2011-02-18 Adrienne Walker <enne@google.com>
3332 Reviewed by Kenneth Russell.
3334 [chromium] Use nearest-neighbor filtering for root layer.
3335 https://bugs.webkit.org/show_bug.cgi?id=54409
3336 https://bugs.webkit.org/show_bug.cgi?id=54509
3338 This setting creates more consistent images for LayoutTests and
3339 prevents small floating point errors in texture coordinates from
3340 creating off-by-one pixel color differences.
3342 * platform/graphics/chromium/LayerTilerChromium.cpp:
3343 (WebCore::LayerTilerChromium::update):
3345 2011-02-18 Gyuyoung Kim <gyuyoung.kim@samsung.com>
3347 Reviewed by Kent Tamura.
3349 [EFL] Fix coding style errors in RenderThemeEfl.h
3350 https://bugs.webkit.org/show_bug.cgi?id=54693
3352 Fix style errors in RenderThemeEfl.h
3354 * platform/efl/RenderThemeEfl.h:
3356 2011-02-18 Ademar de Souza Reis Jr <ademar.reis@openbossa.org>
3358 Reviewed by Andreas Kling.
3360 [Qt] The localized vendor name for Qt SIS packages should be "Nokia"
3361 https://bugs.webkit.org/show_bug.cgi?id=54742
3363 This change was applied in the Qt repository (qt/src/3rdparty/webkit),
3364 so we should do the same here in QtWebKit.
3366 Patch by Eckhart Koppen <eckhart.koppen@nokia.com>
3367 a8a84f1667966acfa093c4be0b7d4b0900ddd3d9:
3369 The previously used name "Nokia, Qt" was not usable for Nokia
3370 Content Signing, which only allows "Nokia" as the visible vendor
3371 name. The unique vendor ID remains as "Nokia, Qt"
3375 2011-02-18 Alexis Menard <alexis.menard@openbossa.org>
3377 Reviewed by Andreas Kling.
3379 [Qt] REGRESSION(r67516) : on www.gmail.com a strange rendering issue appears on the
3380 menu bar due to flash.
3381 https://bugs.webkit.org/show_bug.cgi?id=54741
3383 Only show plugins with a valid size. We then don't involve X11 if there is
3384 nothing to see anyway.
3386 * plugins/qt/PluginViewQt.cpp:
3387 (WebCore::PluginView::updatePluginWidget):
3388 (WebCore::PluginView::platformStart):
3390 2011-02-18 Ryuan Choi <ryuan.choi@samsung.com>
3392 Reviewed by Kent Tamura.
3394 [EFL] Remove GDK dependency.
3395 https://bugs.webkit.org/show_bug.cgi?id=53978
3397 Remove GLIB_SUPPORT macro in GDK related code.
3398 Regardless of GLIB_SUPPORT, getDefaultFontOptions() will works same way.
3400 * CMakeListsEfl.txt:
3401 * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
3402 (WebCore::getDefaultFontOptions):
3404 2011-02-18 Noel Gordon <noel.gordon@gmail.com>
3406 Reviewed by James Robinson.
3408 [Chromium] Add elliptical gradient support to GradientSkia
3409 https://bugs.webkit.org/show_bug.cgi?id=51841
3411 Covered by existing tests, these need new rebaselines once this patch
3412 lands for chrome linux, win32
3414 fast/gradients/css3-color-stop-units.html
3415 fast/gradients/css3-color-stops.html
3416 fast/gradients/css3-linear-angle-gradients.html
3417 fast/gradients/css3-radial-gradients.html
3418 fast/gradients/css3-radial-gradients2.html
3419 fast/gradients/css3-radial-gradients3.html
3420 fast/gradients/css3-repeating-radial-gradients.html
3422 * platform/graphics/skia/GradientSkia.cpp:
3423 (WebCore::Gradient::platformGradient):
3425 2011-02-18 James Robinson <jamesr@chromium.org>
3427 Fix typo in boundary test in ASSERT() - test is for an inclusive range, not exclusive.
3429 * platform/graphics/chromium/ContentLayerChromium.cpp:
3430 (WebCore::ContentLayerChromium::updateTextureIfNeeded):
3432 2011-02-18 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
3434 Reviewed by Kenneth Rohde Christiansen.
3436 Tiled backing store area is too big.
3437 Error in area calculcation causes size of backing store
3438 up to 6 times bigger than viewport with default multipliers.
3439 https://bugs.webkit.org/show_bug.cgi?id=54587
3441 * platform/graphics/TiledBackingStore.cpp:
3442 (WebCore::TiledBackingStore::createTiles):
3444 2011-02-18 Beth Dakin <bdakin@apple.com>
3446 Reviewed by Sam Weinig.
3448 Fix for <rdar://problem/9018729> Horizontal scroller doesn't
3449 appear when loading a page with a Horizontal scrollbar from
3450 the back/forward cache.
3452 This patch adds a new bool member variable to FrameView to
3453 keep track of whether we are loading a page from the back/
3454 forward cache. If we are, don't suppress scrollbars on
3456 * history/CachedFrame.cpp:
3457 (WebCore::CachedFrameBase::restore):
3458 * page/FrameView.cpp:
3459 (WebCore::FrameView::FrameView):
3460 (WebCore::FrameView::reset):
3461 (WebCore::FrameView::layout):
3463 (WebCore::FrameView::setIsRestoringFromBackForward):
3464 (WebCore::FrameView::isRestoringFromBackForward):
3466 2011-02-18 Patrick Gansterer <paroga@webkit.org>
3468 Unreviewed WinCE build fix for r78846.
3470 * platform/graphics/wince/FontWinCE.cpp:
3471 (WebCore::TextRunComponent::TextRunComponent):
3472 * platform/graphics/wince/GraphicsContextWinCE.cpp:
3473 (WebCore::GraphicsContext::drawLineForText):
3474 (WebCore::GraphicsContext::drawLineForTextChecking):
3475 (WebCore::GraphicsContext::drawText):
3476 * platform/wince/FileChooserWinCE.cpp:
3477 (WebCore::FileChooser::basenameForWidth):
3479 2011-02-18 Emil A Eklund <eae@chromium.org>
3481 Reviewed by Darin Adler.
3483 Crash in EventHandler::sendContextMenuEventForKey
3484 https://bugs.webkit.org/show_bug.cgi?id=54495
3486 Test: fast/events/menu-keydown-on-hidden-element.html