1 2011-04-09 Gavin Barraclough <barraclough@apple.com>
3 Reviewed by Sam Weinig.
5 Bug 58198 - Clean up JSValue implementation for JSVALUE64
7 JSNumberCell.h has been deprecated.
9 * ForwardingHeaders/runtime/JSNumberCell.h: Removed.
10 * bindings/scripts/CodeGeneratorJS.pm:
11 * bridge/c/c_instance.cpp:
13 2011-04-11 Dan Bernstein <mitz@apple.com>
17 * html/canvas/CanvasRenderingContext2D.cpp:
18 (WebCore::CanvasRenderingContext2D::State::State):
20 2011-04-11 Antti Koivisto <antti@apple.com>
22 Reviewed by Tony Gentilcore.
24 Document source preload scanned repeatedly
25 https://bugs.webkit.org/show_bug.cgi?id=58123
27 Don't clear the preload scanner after execution resumes. This would lose the current
28 scanning point and lead to rescanning when the preload scanner would get reconstructed
29 due to main parser blocking again.
31 Instead clear the scanner only in the specific case of receiving new data while the main
32 parser has already reached the end of the current input.
34 Also switched to using isWaitingForScripts() instead of m_treeBuilder->isPaused() for consistency.
36 The case the clearing in resumeParsingAfterScriptExecution() was added for is covered by
37 http/tests/loading/preload-slow-loading.php.
39 * html/parser/HTMLDocumentParser.cpp:
40 (WebCore::HTMLDocumentParser::insert):
41 (WebCore::HTMLDocumentParser::append):
42 (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
44 2011-04-11 Dan Bernstein <mitz@apple.com>
48 * html/canvas/CanvasRenderingContext2D.cpp:
49 (WebCore::CanvasRenderingContext2D::State::State):
51 2011-04-11 Dan Bernstein <mitz@apple.com>
53 Reviewed by Alexey Proskuryakov.
55 Assertion failure in CanvasRenderingContext2D::State::fontsNeedUpdate when invalidating the font cache after opening canvas/philip/tests/initial.reset.2dstate.html (occurs on Qt debug test bot)
56 https://bugs.webkit.org/show_bug.cgi?id=58229
58 * html/canvas/CanvasRenderingContext2D.cpp:
59 (WebCore::CanvasRenderingContext2D::State::State): Added copy constructor, to register the copy with
60 the font selector if needed.
61 (WebCore::CanvasRenderingContext2D::State::operator=): Added assignment constructor, to handle
62 registration with the font selector as needed.
63 * html/canvas/CanvasRenderingContext2D.h:
65 2011-04-11 Mario Sanchez Prada <msanchez@igalia.com>
67 Reviewed by Chris Fleizach.
69 [GTK] ARIA tables not exposing cells as HTML tables do
70 https://bugs.webkit.org/show_bug.cgi?id=57463
72 Expose cells for ARIA grids consistently with HTML tables in GTK,
73 keeping the same behaviour for the other platforms.
75 * accessibility/AccessibilityARIAGrid.cpp:
76 (WebCore::AccessibilityARIAGrid::addChild): Add the row's children
77 to the accessibility hierarchy when accessibility objects for rows
78 are ignoring accessibility, otherwise add the row.
79 (WebCore::AccessibilityARIAGrid::addChildren): Do not check at
80 this point whether every child of the table ignores or not
81 accessibility, letting addChild() make the proper decision later.
83 * accessibility/AccessibilityARIAGridCell.cpp:
84 (WebCore::AccessibilityARIAGridCell::parentTable): Consider that
85 rows could be ignoring accessibility, hence the parent could be
86 retrieved in the first call to parentObjectUnignored().
87 (WebCore::AccessibilityARIAGridCell::rowIndexRange): Ditto.
88 (WebCore::AccessibilityARIAGridCell::columnIndexRange): Ditto..
90 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
91 (atkRole): Map ColumnHeader and RowHeader to ATK_ROLE_TABLE_CELL.
93 2011-04-11 Sergio Villar Senin <svillar@igalia.com>
95 Reviewed by Martin Robinson.
97 [GTK] Fix make distcheck
98 https://bugs.webkit.org/show_bug.cgi?id=58224
100 Removed a file that is no longer in the source tree.
102 * GNUmakefile.list.am:
104 2011-04-11 Dimitri Glazkov <dglazkov@chromium.org>
106 Reviewed by Martin Robinson.
108 REGRESSION(r83397): Most GTK media controls are hidden when no valid source is specified
109 https://bugs.webkit.org/show_bug.cgi?id=58204
111 Covered by existing tests.
113 * platform/gtk/RenderThemeGtk.h:
114 (WebCore::RenderThemeGtk::hasOwnDisabledStateHandlingFor): Let GTK handle
115 the the state of media controls.
117 2011-04-11 Dimitri Glazkov <dglazkov@chromium.org>
119 Remove obsolete comment, which was mistakenly landed in r83397.
121 Though potentially a work of art, the comment lost its functional meaning a long time ago.
123 * html/shadow/MediaControls.cpp:
124 (WebCore::MediaControls::create): Removed comment.
126 2011-04-05 Hans Wennborg <hans@chromium.org>
128 Reviewed by Steve Block.
130 IndexedDB: Introduce skeleton for LevelDB backend
131 https://bugs.webkit.org/show_bug.cgi?id=57827
133 No new tests: no new functionality (yet).
135 * WebCore.gyp/WebCore.gyp:
136 Add dependency on leveldb when ENABLE_LEVELDB=1 in feature_defines.
139 * storage/IDBBackingStore.h:
140 (WebCore::IDBBackingStore::ObjectStoreRecordIdentifier::~ObjectStoreRecordIdentifier):
141 Introduce abstract type ObjectStoreRecordIdentifier. The SQLite
142 backend uses integers to refer to a specific row in a table, but
143 the LevelDB backend will use something else.
144 * storage/IDBDatabaseBackendImpl.cpp:
145 (WebCore::IDBDatabaseBackendImpl::createObjectStore):
146 (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal):
147 (WebCore::IDBDatabaseBackendImpl::deleteObjectStoreInternal):
148 (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
149 Change functions to pass along the database id for operations that
150 concern object stores. We want to be able to group object stores
152 * storage/IDBFactoryBackendImpl.cpp:
153 (WebCore::IDBFactoryBackendImpl::open):
154 Decide which backend to use based on the backingStoreType
156 * storage/IDBIndexBackendImpl.cpp:
157 (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
158 (WebCore::IDBIndexBackendImpl::openCursorInternal):
159 (WebCore::IDBIndexBackendImpl::getInternal):
160 (WebCore::IDBIndexBackendImpl::addingKeyAllowed):
161 * storage/IDBIndexBackendImpl.h:
162 (WebCore::IDBIndexBackendImpl::create):
163 Pass database and object store id to backend functions concerning
165 * storage/IDBLevelDBBackingStore.cpp: Added.
166 (WebCore::IDBLevelDBBackingStore::IDBLevelDBBackingStore):
167 (WebCore::IDBLevelDBBackingStore::~IDBLevelDBBackingStore):
168 (WebCore::IDBLevelDBBackingStore::open):
169 (WebCore::IDBLevelDBBackingStore::extractIDBDatabaseMetaData):
170 (WebCore::IDBLevelDBBackingStore::setIDBDatabaseMetaData):
171 (WebCore::IDBLevelDBBackingStore::getObjectStores):
172 (WebCore::IDBLevelDBBackingStore::createObjectStore):
173 (WebCore::IDBLevelDBBackingStore::deleteObjectStore):
174 (WebCore::IDBLevelDBBackingStore::getObjectStoreRecord):
175 (WebCore::IDBLevelDBBackingStore::putObjectStoreRecord):
176 (WebCore::IDBLevelDBBackingStore::clearObjectStore):
177 (WebCore::IDBLevelDBBackingStore::deleteObjectStoreRecord):
178 (WebCore::IDBLevelDBBackingStore::nextAutoIncrementNumber):
179 (WebCore::IDBLevelDBBackingStore::keyExistsInObjectStore):
180 (WebCore::IDBLevelDBBackingStore::forEachObjectStoreRecord):
181 (WebCore::IDBLevelDBBackingStore::getIndexes):
182 (WebCore::IDBLevelDBBackingStore::createIndex):
183 (WebCore::IDBLevelDBBackingStore::deleteIndex):
184 (WebCore::IDBLevelDBBackingStore::putIndexDataForRecord):
185 (WebCore::IDBLevelDBBackingStore::deleteIndexDataForRecord):
186 (WebCore::IDBLevelDBBackingStore::getObjectViaIndex):
187 (WebCore::IDBLevelDBBackingStore::getPrimaryKeyViaIndex):
188 (WebCore::IDBLevelDBBackingStore::keyExistsInIndex):
189 (WebCore::IDBLevelDBBackingStore::openObjectStoreCursor):
190 (WebCore::IDBLevelDBBackingStore::openIndexKeyCursor):
191 (WebCore::IDBLevelDBBackingStore::openIndexCursor):
192 (WebCore::IDBLevelDBBackingStore::createTransaction):
193 * storage/IDBLevelDBBackingStore.h: Added.
194 Add an empty implementation of the LevelDB backend.
195 * storage/IDBObjectStoreBackendImpl.cpp:
196 Keep track of database id, use the new RecordIdentifier.
197 (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
198 (WebCore::IDBObjectStoreBackendImpl::getInternal):
199 (WebCore::IDBObjectStoreBackendImpl::putInternal):
200 (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
201 (WebCore::IDBObjectStoreBackendImpl::clearInternal):
202 (WebCore::populateIndex):
203 (WebCore::IDBObjectStoreBackendImpl::createIndex):
204 (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
205 (WebCore::IDBObjectStoreBackendImpl::deleteIndexInternal):
206 (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
207 (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
208 (WebCore::IDBObjectStoreBackendImpl::genAutoIncrementKey):
209 * storage/IDBObjectStoreBackendImpl.h:
210 (WebCore::IDBObjectStoreBackendImpl::create):
211 (WebCore::IDBObjectStoreBackendImpl::databaseId):
212 * storage/IDBSQLiteBackingStore.cpp:
213 (WebCore::IDBSQLiteBackingStore::open):
214 (WebCore::IDBSQLiteBackingStore::createObjectStore):
215 (WebCore::IDBSQLiteBackingStore::deleteObjectStore):
216 (WebCore::IDBSQLiteBackingStore::getObjectStoreRecord):
217 (WebCore::IDBSQLiteBackingStore::putObjectStoreRecord):
218 (WebCore::IDBSQLiteBackingStore::clearObjectStore):
219 (WebCore::IDBSQLiteBackingStore::deleteObjectStoreRecord):
220 (WebCore::IDBSQLiteBackingStore::nextAutoIncrementNumber):
221 (WebCore::IDBSQLiteBackingStore::keyExistsInObjectStore):
222 (WebCore::IDBSQLiteBackingStore::forEachObjectStoreRecord):
223 (WebCore::IDBSQLiteBackingStore::getIndexes):
224 (WebCore::IDBSQLiteBackingStore::createIndex):
225 (WebCore::IDBSQLiteBackingStore::deleteIndex):
226 (WebCore::IDBSQLiteBackingStore::putIndexDataForRecord):
227 (WebCore::IDBSQLiteBackingStore::deleteIndexDataForRecord):
228 (WebCore::IDBSQLiteBackingStore::getObjectViaIndex):
229 (WebCore::IDBSQLiteBackingStore::getPrimaryKeyViaIndex):
230 (WebCore::IDBSQLiteBackingStore::keyExistsInIndex):
231 (WebCore::IDBSQLiteBackingStore::openObjectStoreCursor):
232 (WebCore::IDBSQLiteBackingStore::openIndexKeyCursor):
233 (WebCore::IDBSQLiteBackingStore::openIndexCursor):
234 * storage/IDBSQLiteBackingStore.h:
236 2011-04-11 Alexander Pavlov <apavlov@chromium.org>
238 Reviewed by Yury Semikhatsky.
240 Web Inspector: Duplicate CSS properties are reported for non-lowercase property names in the Styles sidebar
241 https://bugs.webkit.org/show_bug.cgi?id=58226
243 * inspector/InspectorStyleSheet.cpp:
244 (WebCore::InspectorStyle::populateAllProperties):
246 2011-04-07 Pavel Podivilov <podivilov@chromium.org>
248 Reviewed by Pavel Feldman.
250 Web Inspector: get rid of source frame delegates for resources panel.
251 https://bugs.webkit.org/show_bug.cgi?id=58041
253 Use TextViewer configured with a domain-specific delegate to show/edit resource contents in resources panel.
255 * inspector/front-end/ResourceView.js:
256 (WebInspector.ResourceView.createResourceView):
257 (WebInspector.ResourceView.resourceViewTypeMatchesResource):
258 (WebInspector.ResourceSourceFrame):
259 (WebInspector.ResourceSourceFrame.prototype.get resource):
260 (WebInspector.ResourceSourceFrame.prototype.contentEditable):
261 (WebInspector.ResourceSourceFrame.prototype._requestContent):
262 (WebInspector.CSSSourceFrame):
263 (WebInspector.CSSSourceFrame.prototype.contentEditable):
264 (WebInspector.CSSSourceFrame.prototype._editContent):
265 (WebInspector.CSSSourceFrame.prototype._editContent.handleInfos):
266 (WebInspector.CSSSourceFrame.prototype._saveStyleSheet):
267 * inspector/front-end/SourceFrame.js:
268 (WebInspector.SourceFrame.prototype._ensureContentLoaded):
269 (WebInspector.SourceFrame.prototype._requestContent):
270 (WebInspector.SourceFrame.prototype._handleSave):
271 (WebInspector.SourceFrame.prototype._editContent):
273 2011-04-11 Alexis Menard <alexis.menard@openbossa.org>
275 Reviewed by Andreas Kling.
277 [Qt] Regression : r83051 Oxygen's lineedits are not rendered properly
278 https://bugs.webkit.org/show_bug.cgi?id=58076
280 State_Sunken is more generic than pressed. It is used by items such as frames or
281 line edits because they are "sunken" frames (e.g. QLineEdit). It can be required
282 by some style like Oxygen. Therefore only in the mobile theme we check if the object
285 * platform/qt/RenderThemeQt.cpp:
286 (WebCore::RenderThemeQt::paintTextField):
288 2011-04-11 Pavel Feldman <pfeldman@chromium.org>
290 Reviewed by Yury Semikhatsky.
292 Web Inspector: add support for optional output parameters.
293 https://bugs.webkit.org/show_bug.cgi?id=58207
295 Output parameters such as "redirectResponse" are optional, but
296 do not allow specifying them as such.
298 * inspector/CodeGeneratorInspector.pm:
299 * inspector/Inspector.json:
300 * inspector/InspectorResourceAgent.cpp:
301 (WebCore::buildObjectForResourceResponse):
302 (WebCore::buildObjectForCachedResource):
303 * inspector/front-end/NetworkManager.js:
304 (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
305 * inspector/generate-inspector-idl:
307 2011-04-11 Pavel Feldman <pfeldman@chromium.org>
309 Reviewed by Yury Semikhatsky.
311 Web Inspector: refactor / document call frames in debugger domain.
312 https://bugs.webkit.org/show_bug.cgi?id=58187
314 Note that we are not special casing with(element) and with(document) anymore
315 and do not tell user that it is "Event target" and "Event document". Strictly speaking,
316 we should not have done it for with(element) not necessarily being related to an event.
318 * English.lproj/localizedStrings.js:
319 * inspector/InjectedScriptSource.js:
320 * inspector/Inspector.json:
321 * inspector/front-end/ScopeChainSidebarPane.js:
322 (WebInspector.ScopeChainSidebarPane.prototype.update):
324 2011-04-10 ChangSeok Oh <shivamidow@gmail.com>
326 Reviewed by Eric Seidel.
328 Make correspondence of file name related with event to other port.
329 https://bugs.webkit.org/show_bug.cgi?id=57416
331 Some file names are changed to make correspondence naming rule.
332 Keyboard, mouse and wheel event file names for GTK port have been different from other ports.
333 This has made user hard to find a specific file related with event for GTK port.
335 No test required. This patch just changes some file names.
337 * GNUmakefile.list.am:
338 * platform/gtk/KeyEventGtk.cpp: Removed.
339 * platform/gtk/MouseEventGtk.cpp: Removed.
340 * platform/gtk/PlatformKeyboardEventGtk.cpp: Added.
341 * platform/gtk/PlatformMouseEventGtk.cpp: Added.
342 * platform/gtk/PlatformWheelEventGtk.cpp: Added.
343 * platform/gtk/WheelEventGtk.cpp: Removed.
345 2011-04-10 Simon Fraser <simon.fraser@apple.com>
347 Revert the FloatRect.cpp part of r83422, since
348 clampToInteger() is broken for some inputs. I filed
349 https://bugs.webkit.org/show_bug.cgi?id=58216
351 * platform/graphics/FloatRect.cpp:
352 (WebCore::safeFloatToInt):
353 (WebCore::enclosingIntRect):
355 2011-04-10 Simon Fraser <simon.fraser@apple.com>
357 Reviewed by Maciej Stachowiak.
359 Car model dropdowns at audiusa.com lay out incorrectly with compositing enabled
360 https://bugs.webkit.org/show_bug.cgi?id=56660
362 When overflow on an element changes, we need to inform compositing
363 layers which create and position an "ancestor clipping" layer based
364 on that overflow. Do this by triggering a rebuild of compositing layers
365 when overflow changes on a layer whose stacking context has compositing
366 descendants. (We can't just check whether the layer itself has compositing
367 descendants, because overflow follows the render tree, but compositing
368 follows the z-order tree.)
370 Test: compositing/geometry/ancestor-overflow-change.html
372 * rendering/RenderLayer.cpp:
373 (WebCore::RenderLayer::styleChanged):
374 * rendering/RenderLayer.h:
375 * rendering/RenderLayerBacking.cpp:
376 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
378 2011-04-10 Simon Fraser <simon.fraser@apple.com>
380 Reviewed by Ariya Hidayat.
382 Allow ShadowBlur to re-use the last buffer if it already contains the correct shadow
383 https://bugs.webkit.org/show_bug.cgi?id=58161
385 ShadowBlur already has a singleton scratch buffer that is re-used
386 between shadows. Enhance use of this scratch buffer to avoid drawing
387 and blurring the shadow if the results will match what is already
390 Cleaned up ShadowBlur code to remove beginShadowLayer() and endShadowLayer(),
391 which ended up with little reusable code after adding the re-use logic.
393 * platform/graphics/FloatRect.cpp:
394 (WebCore::enclosingIntRect): Replace safeFloatToInt() with the existing
395 clampToInteger() from MathExtras.h
397 * platform/graphics/FloatSize.h:
398 (WebCore::expandedIntSize): New method to safely ceil() the size.
400 * platform/graphics/RoundedIntRect.h:
401 Add operator== for Radii and RoundedIntRect.
403 * platform/graphics/ShadowBlur.cpp:
404 (WebCore::ScratchBuffer::ScratchBuffer):
405 (WebCore::ScratchBuffer::setLastShadowValues):
406 (WebCore::ScratchBuffer::setLastInsetShadowValues):
407 (WebCore::ScratchBuffer::matchesLastShadow):
408 (WebCore::ScratchBuffer::matchesLastInsetShadow):
409 (WebCore::ScratchBuffer::clearScratchBuffer):
410 Have the scratch buffer remember what shadow parameters were used
411 to render the buffer contents.
413 (WebCore::ShadowBlur::drawShadowBuffer):
414 Renamed from endShadowLayer(), and only contains the drawing
417 (WebCore::ShadowBlur::drawRectShadow):
418 Promote some code from beginShadowLayer().
420 (WebCore::ShadowBlur::drawInsetShadow):
421 Promote some code from beginShadowLayer().
423 (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
424 (WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
425 (WebCore::ShadowBlur::drawInsetShadowWithTiling):
426 (WebCore::ShadowBlur::drawRectShadowWithTiling):
427 These methods now check to see if the buffer already matches
428 their required parameters, and avoid work if it does.
430 (WebCore::ShadowBlur::blurShadowBuffer):
431 Factored some code into this new method.
433 (WebCore::ShadowBlur::blurAndColorShadowBuffer):
436 * platform/graphics/ShadowBlur.h:
438 2011-04-10 Geoffrey Garen <ggaren@apple.com>
440 Build fix: Updated for file move.
442 * bindings/js/GCController.cpp:
443 * bindings/js/ScriptGCEvent.cpp:
445 2011-04-10 Geoffrey Garen <ggaren@apple.com>
447 Rubber-stamped by Beth Dakin.
449 Moved Heap.h and Heap.cpp to the heap folder, because anything less
450 would be uncivilized.
452 * ForwardingHeaders/heap/Heap.h: Copied from WebCore/ForwardingHeaders/runtime/Heap.h.
453 * ForwardingHeaders/runtime/Heap.h: Removed.
455 2011-04-10 Luke Macpherson <macpherson@chromium.org>
457 Reviewed by Simon Fraser.
459 Rename CSSStyleApplyProperty::inherit,initial,value applyInheritValue,applyInitialValue,applyValue
460 https://bugs.webkit.org/show_bug.cgi?id=58212
462 No new tests - function renaming only / no functionality changes.
464 * css/CSSStyleApplyProperty.cpp:
465 Rename all instances of inherit, initial and value.
466 * css/CSSStyleApplyProperty.h:
467 Rename all instances of inherit, initial and value.
468 * css/CSSStyleSelector.cpp:
469 Rename all instances of inherit, initial and value.
471 2011-04-10 Mike Lawther <mikelawther@chromium.org>
473 Reviewed by Ojan Vafai.
475 flex/bison tokens and grammar for CSS calc
476 https://bugs.webkit.org/show_bug.cgi?id=54412
478 Tests: css3/calc/calc-errors.html
479 css3/calc/lexer-regression-57581-2.html
480 css3/calc/lexer-regression-57581-3.html
481 css3/calc/lexer-regression-57581.html
482 css3/calc/minmax-errors.html
483 css3/calc/nested-rounded-corners.html
484 css3/calc/simple-calcs.html
485 css3/calc/simple-minmax.html
488 * css/CSSParserValues.cpp:
489 (WebCore::CSSParserValueList::insertValueAt):
490 (WebCore::CSSParserValueList::extend):
491 * css/CSSParserValues.h:
492 * css/tokenizer.flex:
494 2011-04-10 Alice Boxhall <aboxhall@chromium.org>
496 Reviewed by Ryosuke Niwa.
498 Change EventHandler::updateSelectionForMouseDrag to take a HitTestResult only.
499 https://bugs.webkit.org/show_bug.cgi?id=57923
501 Change EventHandler::updateSelectionForMouseDrag to take a HitTestResult
502 rather than a Node* and an IntPoint&, as the selection may actually not
503 extend into the Node found by the HitTest.
505 No new tests. Refactoring only.
507 * page/EventHandler.cpp:
508 (WebCore::EventHandler::handleMouseDraggedEvent):
509 (WebCore::EventHandler::updateSelectionForMouseDrag):
510 * page/EventHandler.h:
512 2011-04-10 Kent Tamura <tkent@chromium.org>
514 Unreviewed, rolling out r83353.
515 http://trac.webkit.org/changeset/83353
516 https://bugs.webkit.org/show_bug.cgi?id=58106
518 The new test doesn't pass on all Chromium platforms.
520 * dom/DataTransferItem.h:
521 * dom/DataTransferItem.idl:
522 * platform/chromium/ClipboardMimeTypes.cpp:
523 * platform/chromium/ClipboardMimeTypes.h:
524 * platform/chromium/DataTransferItemChromium.cpp:
525 (WebCore::DataTransferItemChromium::getAsString):
526 * platform/chromium/DataTransferItemChromium.h:
527 * platform/chromium/PlatformBridge.h:
529 2011-04-10 Gyuyoung Kim <gyuyoung.kim@samsung.com>
531 Reviewed by Eric Carlson.
533 [EFL] Add seek forward / backward buttons to MediaControl UI.
534 https://bugs.webkit.org/show_bug.cgi?id=56810
536 Add seek forward / backward buttons to media control. And, change formType name
539 * platform/efl/RenderThemeEfl.cpp:
540 (WebCore::RenderThemeEfl::edjeGroupFromFormType):
541 (WebCore::RenderThemeEfl::emitMediaButtonSignal):
542 (WebCore::RenderThemeEfl::paintMediaMuteButton):
543 (WebCore::RenderThemeEfl::paintMediaPlayButton):
544 (WebCore::RenderThemeEfl::paintMediaSeekBackButton):
545 (WebCore::RenderThemeEfl::paintMediaSeekForwardButton):
546 * platform/efl/RenderThemeEfl.h:
548 2011-04-10 Chris Guillory <chris.guillory@google.com>
550 Reviewed by Eric Seidel.
552 Remove unused function declaration in PlatformContextSkia.h.
553 https://bugs.webkit.org/show_bug.cgi?id=55983
555 * platform/graphics/skia/PlatformContextSkia.h:
557 2011-04-10 Patrick Gansterer <paroga@webkit.org>
559 Unreviewed build fix for !ENABLE(XSLT) after r82562.
561 * dom/XMLDocumentParserLibxml2.cpp:
562 (WebCore::XMLDocumentParser::doEnd):
564 2011-04-10 Patrick Gansterer <paroga@webkit.org>
566 Unreviewed build fix for !ENABLE(XSLT) after r82562.
568 * xml/XMLTreeViewer.cpp: Readded #if ENABLE(XSLT).
570 2011-04-10 Dimitri Glazkov <dglazkov@chromium.org>
572 Reviewed by Anders Carlsson.
574 REGRESSION(r83256): Text-decoration bleeds into shadow DOM
575 https://bugs.webkit.org/show_bug.cgi?id=58205
577 Now that the shadow root is a never-styled element, we need to walk to
578 parent to find out if we're inside of a shadow DOM subtree.
580 Test: media/controls-styling.html
582 * css/CSSStyleSelector.cpp:
583 (WebCore::isAtShadowBoundary): Added helper function.
584 (WebCore::CSSStyleSelector::adjustRenderStyle): Changed to use the helper.
586 2011-04-07 Dimitri Glazkov <dglazkov@chromium.org>
588 Reviewed by Eric Carlson.
590 [Meta] Convert HTMLMediaElement to use the new shadow DOM
591 https://bugs.webkit.org/show_bug.cgi?id=53020
593 This conversion is non-trivial, for several reasons:
595 1) Since HTMLMediaElement now hosts the shadow DOM for controls, hiding
596 and showing controls does not result in destroying and re-creating the
597 shadow DOM tree. Instead, the tree is created as needed and shown/hidden
600 2) Instead of detaching/attaching on each style change, the control parts
601 are now using a set of higher fidelity callbacks that notify MediaControls
602 about changes to which it should react. Each reaction results in hiding,
603 showing, or changing the state of the control parts using inline styles
606 3) Hiding and showing controls is accomplished using inline styles, rather
607 than wiring rendererIsNeeded, because renderers are now re-created less
610 4) Instead of constantly querying RenderTheme about visibility of a particular
611 control part, we let the theme determine which parts are supported and
612 which parts are visible in certain conditions.
614 5) Custom hit-testing, event forwarding, and style updates are completely
615 removed, since they are now unnecessary.
617 6) Fading controls in/out is now done as CSS animation, since shadow DOM
620 Test: manual-tests/media-controls.html
622 2011-04-09 Dan Bernstein <mitz@apple.com>
624 Reviewed by Beth Dakin.
626 <rdar://problem/9215280> Detached canvas draws with incorrect font
628 Test: fast/canvas/font-update.html
630 The existing mechanism for updating the font in a canvas 2D context was lacking in at least
631 two ways: it neglected to update fonts in all but the topmost state in the stack, and since it
632 was based on HTMLCanvasElemen's attach() and recalcStyle(), it did not work when the element
635 This change takes the responsibility for font updates away from the canvas element and gives it
636 to the canvas context and its graphics state.
638 * css/CSSFontSelector.cpp:
639 (WebCore::CSSFontSelector::registerForInvalidationCallbacks): Added. Adds to the set of registered
640 font selector clients.
641 (WebCore::CSSFontSelector::unregisterForInvalidationCallbacks): Added. Removes from the set of
642 registered font selector clients.
643 (WebCore::CSSFontSelector::dispatchInvalidationCallbacks): Calls fontsNeedUpdate() on all registered
644 clients and forces a style recalc on the document.
645 (WebCore::CSSFontSelector::fontLoaded): Changed to call dispatchInvalidationCallbacks().
646 (WebCore::CSSFontSelector::fontCacheInvalidated): Ditto.
647 * css/CSSFontSelector.h:
648 * html/HTMLCanvasElement.cpp: Removed overrides of attach() and recalcStyle().
649 * html/HTMLCanvasElement.h:
650 * html/canvas/CanvasRenderingContext2D.cpp:
651 (WebCore::CanvasRenderingContext2D::State::~State): Added. Unregisters with the font selector.
652 (WebCore::CanvasRenderingContext2D::State::fontsNeedUpdate): Added. Called by the font selector
653 when its fonts need to be updated. Updates the font.
654 (WebCore::CanvasRenderingContext2D::setFont): Registers the state with the font selector.
655 * html/canvas/CanvasRenderingContext2D.h:
656 * platform/graphics/FontSelector.h:
657 (WebCore::FontSelectorClient::~FontSelectorClient):
659 2011-04-09 Geoffrey Garen <ggaren@apple.com>
663 Try recommitting some things svn left out of my last commit.
665 * bridge/qt/qt_runtime.h:
667 2011-04-09 Geoffrey Garen <ggaren@apple.com>
671 Try recommitting some things svn left out of my last commit.
673 * ForwardingHeaders/collector: Removed.
674 * ForwardingHeaders/collector/handles: Removed.
675 * ForwardingHeaders/collector/handles/Global.h: Removed.
677 2011-04-08 Dimitri Glazkov <dglazkov@chromium.org>
679 Reviewed by Ojan Vafai.
681 Implement proper handling of mouseover/mouseout events in regard to shadow DOM boundaries.
682 https://bugs.webkit.org/show_bug.cgi?id=55515
684 This implements XBL 2.0's specified handling of mouseover/mouseout events:
685 http://dev.w3.org/2006/xbl2/Overview.html#the-mouseover-and-mouseout-events
688 1) calculate lowest common ancestor between relatedTarget and target, and
689 the nearest boundaries around them: the outer (common) boundary, and the
690 inner (specific to relatedTarget) boundary. Then, we
691 2) ensure that events only propagate up to the common boundary (or
692 all the way if boundary is not found), while
693 3) updating relatedTarget be the inner boundary.
695 We also detect the most common case when no common boundary could exist
696 and provide a fast path to short-circuit most of the boundary detection
699 Test: fast/events/shadow-boundary-crossing.html
701 * dom/EventDispatcher.cpp:
702 (WebCore::EventDispatcher::adjustToShadowBoundaries): Added a helper to determine lowest
703 common ancestor, the boundaries around it, and compute adjustments
704 to relatedTarget and event target ancestor chain.
705 (WebCore::ancestorsCrossShadowBoundaries): Added.
706 (WebCore::EventDispatcher::adjustRelatedTarget): Changed to calculate
707 inner/outer shadow DOM boundaries and adjust ancestors chain accordingly.
708 (WebCore::EventDispatcher::EventDispatcher): Added flag initializer
709 (WebCore::EventDispatcher::ensureEventAncestors): Renamed from getEventAncestors,
710 converted to use initialization flag, rather than testing for empty.
711 * dom/EventDispatcher.h: Adjusted decls.
712 * dom/MouseEvent.cpp:
713 (WebCore::MouseEventDispatchMediator::dispatchEvent): Changed to send event
714 to adjustRelatedTarget.
716 2011-04-08 Geoffrey Garen <ggaren@apple.com>
718 Reviewed by Oliver Hunt.
720 A few heap-related renames and file moves.
722 WeakGCPtr<T> => Weak<T>
723 Global<T> => Strong<T>
725 collector/* => heap/*
726 runtime/WeakGCPtr.h => heap/Weak.h
728 (Eventually, even more files should move into the heap directory. Like
729 Heap.h and Heap.cpp, for example.)
732 * ForwardingHeaders/collector: Removed.
733 * ForwardingHeaders/heap: Copied from ForwardingHeaders/collector.
734 * ForwardingHeaders/heap/Strong.h: Copied from ForwardingHeaders/collector/handles/Global.h.
735 * ForwardingHeaders/heap/Weak.h: Copied from ForwardingHeaders/runtime/WeakGCPtr.h.
736 * ForwardingHeaders/runtime/WeakGCPtr.h: Removed.
737 * WebCore.vcproj/WebCore.vcproj:
738 * WebCore.vcproj/copyForwardingHeaders.cmd:
739 * bindings/js/JSCallbackData.h:
740 * bindings/js/JSCustomVoidCallback.h:
741 * bindings/js/JSDOMWindowBase.h:
742 * bindings/js/JSDOMWindowShell.cpp:
743 (WebCore::JSDOMWindowShell::setWindow):
744 * bindings/js/JSDataGridDataSource.h:
745 * bindings/js/JSEventListener.h:
746 * bindings/js/ScheduledAction.cpp:
747 (WebCore::ScheduledAction::ScheduledAction):
748 * bindings/js/ScheduledAction.h:
749 * bindings/js/ScriptCachedFrameData.cpp:
750 (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
751 * bindings/js/ScriptCachedFrameData.h:
752 * bindings/js/ScriptController.cpp:
753 (WebCore::ScriptController::createWindowShell):
754 * bindings/js/ScriptController.h:
755 * bindings/js/ScriptObject.h:
756 * bindings/js/ScriptState.h:
757 * bindings/js/ScriptValue.cpp:
758 * bindings/js/ScriptValue.h:
759 * bindings/js/ScriptWrappable.h:
760 * bindings/js/WorkerScriptController.cpp:
761 (WebCore::WorkerScriptController::initScript):
762 * bindings/js/WorkerScriptController.h:
763 * bridge/jsc/BridgeJSC.h:
764 * bridge/qt/qt_runtime.h:
765 * bridge/runtime_root.h:
766 * xml/XMLHttpRequest.cpp:
768 2011-04-09 Keith Kyzivat <keith.kyzivat@nokia.com>
770 Reviewed by Laszlo Gombos.
772 [Qt] Don't link against fontconfig or X11 if embedded
773 https://bugs.webkit.org/show_bug.cgi?id=58104
775 No functional change so no new tests.
777 * WebCore.pri: qpa=>embedded should be done very early so all cases of embedded are uniform.
779 2011-04-09 Csaba Osztrogonác <ossy@webkit.org>
781 [Qt] Unreviewed trivial fix after r83344.
783 * WebCore.pro: Update HEADERS list.
785 2011-04-09 Jon Lee <jonlee@apple.com>
787 Reviewed by Beth Dakin.
789 Overlay scrollbar flashes in scrollable <textarea> with each keystroke (58180)
790 https://bugs.webkit.org/show_bug.cgi?id=58180
791 <rdar://problem/9047984>
793 * platform/mac/ScrollAnimatorMac.mm:
794 (WebCore::ScrollAnimatorMac::immediateScrollToPoint): Check that there is a change before submitting
795 (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX):
796 (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY):
798 2011-04-09 Sreeram Ramachandran <sreeram@google.com>
800 Reviewed by Ryosuke Niwa.
802 Gather data on modal dialogs shown during unload events
803 https://bugs.webkit.org/show_bug.cgi?id=58115
805 Add a new method to the ChromeClient API to allow clients to receive
806 notifications of modal dialogs dispatched during page dismissal events.
807 The new method has a default empty definition; only chromium overrides
808 it to keep track of histograms.
810 No tests because this is a no-op for all ports except chromium (and it's
811 not clear how to test chromium histograms from webkit).
814 (WebCore::isDuringPageDismissal):
815 (WebCore::willRunModalDialog):
816 (WebCore::Chrome::runJavaScriptAlert):
817 (WebCore::Chrome::runJavaScriptConfirm):
818 (WebCore::Chrome::runJavaScriptPrompt):
819 (WebCore::Chrome::willRunModalHTMLDialog):
821 * page/ChromeClient.h:
822 (WebCore::ChromeClient::willRunModalDialogDuringPageDismissal):
823 * page/DOMWindow.cpp:
824 (WebCore::DOMWindow::showModalDialog):
826 2011-04-08 David Humphrey <david.humphrey@senecac.on.ca>
828 Reviewed by Eric Carlson.
830 Fix call order of media element muted and play(), such that setting muted before play() works.
831 https://bugs.webkit.org/show_bug.cgi?id=57673
832 https://code.google.com/p/chromium/issues/detail?id=70777
834 Manual test added: manual-tests/media-muted.html
836 * html/HTMLMediaElement.cpp:
837 (WebCore::HTMLMediaElement::updatePlayState):
838 * manual-tests/media-muted.html: Added.
840 2011-04-08 Nat Duca <nduca@chromium.org>
842 Reviewed by David Levin.
844 [chromium] Fix windows assertion on ~CCThread
845 https://bugs.webkit.org/show_bug.cgi?id=58153
847 Because ~CCThread uses waitForThreadCompletion,
848 calling detachThread is not necessary.
850 * platform/graphics/chromium/cc/CCThread.cpp:
851 (WebCore::CCThread::runLoop):
853 2011-04-08 Jian Li <jianli@chromium.org>
855 Unreviewed, rolling out r83348.
856 http://trac.webkit.org/changeset/83348
857 https://bugs.webkit.org/show_bug.cgi?id=49508
859 Breaks layout tests in QT, Win7 and Chromium.
861 * rendering/RenderText.cpp:
862 (WebCore::RenderText::localCaretRect):
864 2011-04-08 MORITA Hajime <morrita@google.com>
866 Reviewed by Simon Fraser.
868 Negative spread should not make a sharp corner rounded
869 https://bugs.webkit.org/show_bug.cgi?id=58162
871 Handled inset shadow path for rounded and non-rounded rect
872 differently as normal shadow path is doing.
874 * rendering/RenderBoxModelObject.cpp:
875 (WebCore::RenderBoxModelObject::paintBoxShadow):
877 2011-04-07 Simon Fraser <simon.fraser@apple.com>
879 Reviewed by Martin Robinson.
881 REGRESSION (r77034-r77220): CSS box-shadow no longer renders on PowerPC
882 https://bugs.webkit.org/show_bug.cgi?id=55180
884 The endianness #ifdef in ShadowBlur was unnecessary and harmful. The
885 data we get back from ImageBuffer::getImageData() do not vary in
888 * platform/graphics/ShadowBlur.cpp:
889 (WebCore::ShadowBlur::blurLayerImage):
891 2011-04-08 Erik Arvidsson <arv@chromium.org>
893 Reviewed by Dimitri Glazkov.
895 IFrame is getting the focus even though it is hidden
896 https://bugs.webkit.org/show_bug.cgi?id=55861
898 Test: fast/dom/hidden-iframe-no-focus.html
900 * html/HTMLFrameOwnerElement.cpp:
901 (WebCore::HTMLFrameOwnerElement::isKeyboardFocusable):
902 * html/HTMLFrameOwnerElement.h:
904 2011-04-08 Jeff Timanus <twiz@chromium.org>
906 Reviewed by Kenneth Russell.
908 Fall back to software rendering for Canvas2D when requesting a DrawingBuffer larger than supported by the GL environment.
909 https://bugs.webkit.org/show_bug.cgi?id=57768
911 * html/canvas/CanvasRenderingContext2D.cpp:
912 (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
913 (WebCore::CanvasRenderingContext2D::reset):
914 * platform/graphics/gpu/DrawingBuffer.cpp:
915 (WebCore::DrawingBuffer::reset):
916 * platform/graphics/gpu/DrawingBuffer.h:
918 2011-04-08 Daniel Cheng <dcheng@chromium.org>
920 Reviewed by Dmitry Titov.
922 [chromium] Implement image/png support in DataTransferItems
923 https://bugs.webkit.org/show_bug.cgi?id=58106
925 This patch implements DataTransferItem::getAsFile() using Blobs. In
926 addition, plumbing for image/png has been added so image paste will be
927 supported as long as the renderer makes that data available.
929 Tests: editing/pasteboard/data-transfer-items-image-png.html
931 * dom/DataTransferItem.h:
932 * dom/DataTransferItem.idl:
933 * platform/chromium/ClipboardMimeTypes.cpp:
934 * platform/chromium/ClipboardMimeTypes.h:
935 * platform/chromium/DataTransferItemChromium.cpp:
936 (WebCore::DataTransferItemChromium::getAsString):
937 (WebCore::DataTransferItemChromium::getAsFile):
938 * platform/chromium/DataTransferItemChromium.h:
939 * platform/chromium/PlatformBridge.h:
941 2011-04-08 MORITA Hajime <morrita@google.com>
943 Unreviewed windows build fix.
945 * editing/SpellingCorrectionController.h:
946 (WebCore::SpellingCorrectionController::UNLESS_ENABLED):
948 2011-04-08 Enrica Casucci <enrica@apple.com>
950 Reviewed by Maciej Stachowiak.
952 Improve lifetime management of nodes in ReplaceNodeWithSpanCommand.
953 https://bugs.webkit.org/show_bug.cgi?id=57595
954 <rdar://problem/9222122>
956 Test: editing/style/bold-with-dom-changes.html
958 * editing/ReplaceNodeWithSpanCommand.cpp:
959 (WebCore::swapInNodePreservingAttributesAndChildren):
961 2011-04-07 Roland Steiner <rolandsteiner@chromium.org>
963 Reviewed by Dimitri Glazkov.
965 Bug 58060 - Prepare access to TreeScope from Node, using NodeRareData
966 https://bugs.webkit.org/show_bug.cgi?id=58060
968 Add a TreeScope pointer to NodeRareData to allow direct access to the containing tree scope.
969 However, in case the containing scope is the document, this is not set, and the
970 document pointer within Node is used instead.
972 In an object derived from TreeScope (currently Document), the tree scope pointer
973 points to itself. Such objects also contain a parent tree scope pointer that
974 points to the containing scope. For Document, this is 0.
976 Add new functions setTreeScope[Recursively] that replace setDocument[Recursively]
977 in public usage. setDocument[Recursively] are now only used internally and are
978 thererfore protected.
980 No new tests. (no new functionality)
982 * dom/ContainerNode.cpp: change DOM manipulation methods to update scope of inserted nodes
983 (WebCore::ContainerNode::insertBefore):
984 (WebCore::ContainerNode::replaceChild):
985 (WebCore::ContainerNode::appendChild):
987 (WebCore::Document::~Document):
988 (WebCore::Document::setDocType): Ditto
989 (WebCore::Document::adoptNode): Ditto
992 (WebCore::Node::treeScope): use NodeRareData to check if a non-Document scope is set
993 (WebCore::Node::setTreeScope): update NodeRareData depending on whether scope is a document
994 (WebCore::Node::setTreeScopeRecursively):
995 (WebCore::Node::setDocumentRecursively):
997 * dom/NodeRareData.h: add scope pointer
998 (WebCore::NodeRareData::NodeRareData):
999 (WebCore::NodeRareData::treeScope):
1000 (WebCore::NodeRareData::setTreeScope):
1001 * dom/TreeScope.cpp: add parentTreeScope pointer
1002 (WebCore::TreeScope::TreeScope):
1003 (WebCore::TreeScope::setParentTreeScope):
1005 (WebCore::TreeScope::parentTreeScope):
1007 2011-04-08 Xiaomei Ji <xji@chromium.org>
1009 Reviewed by David Hyatt.
1011 Local caret rectangle calculation should be relative to its containing block.
1012 https://bugs.webkit.org/show_bug.cgi?id=49508.
1014 InlineBox and caret rectangle are positioned relative to its containing block.
1015 So its left and right edge value should be relative to its containing block as well.
1017 Test: fast/forms/cursor-at-editable-content-boundary.html
1019 * rendering/RenderText.cpp:
1020 (WebCore::RenderText::localCaretRect):
1022 2011-04-08 MORITA Hajime <morrita@google.com>
1024 Unreviewed build fix.
1026 * editing/Editor.cpp:
1027 (WebCore::Editor::markMisspellingsAfterTypingToWord):
1029 2011-04-08 David Hyatt <hyatt@apple.com>
1031 Reviewed by Simon Fraser.
1033 https://bugs.webkit.org/show_bug.cgi?id=57971
1035 Rework visited/unvisited links for before/after content. Propagate the bits earlier so that we don't lose
1036 them when we throw away the visited style. Don't throw away the visited link style for pseudo elements
1037 either, so that the styles are consistent.
1039 Added fast/history/visited-generated-content-test.html
1041 * css/CSSStyleSelector.cpp:
1042 (WebCore::CSSStyleSelector::styleForElement):
1043 (WebCore::CSSStyleSelector::pseudoStyleForElement):
1045 2011-04-06 MORITA Hajime <morrita@google.com>
1047 Reviewed by Darin Adler.
1049 [Refactoring] Auto correction panel should be handled by its own class.
1050 https://bugs.webkit.org/show_bug.cgi?id=55571
1052 Extracted code inside SUPPORT_AUTOCORRECTION_PANEL into
1053 SpellingCorrectionController class.
1054 This change also remove some SUPPORT_AUTOCORRECTION_PANEL guard if
1055 code paths inside the never reached without autocorrection support.
1056 Removing guards reduces unintentional build breakage.
1058 No new tests, no behavior chagne.
1064 * WebCore.vcproj/WebCore.vcproj:
1065 * WebCore.xcodeproj/project.pbxproj:
1066 * editing/CorrectionPanelInfo.h: Removed.
1067 * editing/EditingAllInOne.cpp:
1068 * editing/Editor.cpp:
1069 (WebCore::Editor::respondToChangedSelection):
1070 (WebCore::Editor::respondToChangedContents):
1071 (WebCore::Editor::appliedEditing):
1072 (WebCore::Editor::Editor):
1073 (WebCore::Editor::~Editor):
1074 (WebCore::Editor::insertTextWithoutSendingTextEvent):
1075 (WebCore::Editor::insertLineBreak):
1076 (WebCore::Editor::insertParagraphSeparator):
1077 (WebCore::Editor::cut):
1078 (WebCore::Editor::paste):
1079 (WebCore::Editor::pasteAsPlainText):
1080 (WebCore::Editor::isAutomaticSpellingCorrectionEnabled):
1081 (WebCore::Editor::markMisspellingsAfterTypingToWord):
1082 (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
1083 (WebCore::Editor::changeBackToReplacedString):
1084 (WebCore::Editor::unappliedSpellCorrection):
1085 (WebCore::Editor::updateMarkersForWordsAffectedByEditing):
1086 (WebCore::Editor::startCorrectionPanelTimer):
1087 (WebCore::Editor::handleCorrectionPanelResult):
1088 (WebCore::Editor::dismissCorrectionPanelAsIgnored):
1090 * editing/SpellingCorrectionCommand.cpp:
1091 * editing/SpellingCorrectionController.cpp: Added.
1092 (WebCore::markerTypesForAutocorrection):
1093 (WebCore::markerTypesForReplacement):
1094 (WebCore::markersHaveIdenticalDescription):
1095 (WebCore::SpellingCorrectionController::SpellingCorrectionController):
1096 (WebCore::SpellingCorrectionController::~SpellingCorrectionController):
1097 (WebCore::SpellingCorrectionController::startCorrectionPanelTimer):
1098 (WebCore::SpellingCorrectionController::stopCorrectionPanelTimer):
1099 (WebCore::SpellingCorrectionController::stopPendingCorrection):
1100 (WebCore::SpellingCorrectionController::applyPendingCorrection):
1101 (WebCore::SpellingCorrectionController::hasPendingCorrection):
1102 (WebCore::SpellingCorrectionController::isSpellingMarkerAllowed):
1103 (WebCore::SpellingCorrectionController::show):
1104 (WebCore::SpellingCorrectionController::handleCancelOperation):
1105 (WebCore::SpellingCorrectionController::dismiss):
1106 (WebCore::SpellingCorrectionController::dismissSoon):
1107 (WebCore::SpellingCorrectionController::applyCorrectionPanelInfo):
1108 (WebCore::SpellingCorrectionController::applyAutocorrectionBeforeTypingIfAppropriate):
1109 (WebCore::SpellingCorrectionController::respondToUnappliedSpellCorrection):
1110 (WebCore::SpellingCorrectionController::correctionPanelTimerFired):
1111 (WebCore::SpellingCorrectionController::handleCorrectionPanelResult):
1112 (WebCore::SpellingCorrectionController::isAutomaticSpellingCorrectionEnabled):
1113 (WebCore::SpellingCorrectionController::windowRectForRange):
1114 (WebCore::SpellingCorrectionController::respondToChangedSelection):
1115 (WebCore::SpellingCorrectionController::respondToAppliedEditing):
1116 (WebCore::SpellingCorrectionController::client):
1117 (WebCore::SpellingCorrectionController::textChecker):
1118 (WebCore::SpellingCorrectionController::recordAutocorrectionResponseReversed):
1119 (WebCore::SpellingCorrectionController::markReversed):
1120 (WebCore::SpellingCorrectionController::markCorrection):
1121 (WebCore::SpellingCorrectionController::recordSpellcheckerResponseForModifiedCorrection):
1122 * editing/SpellingCorrectionController.h: Added.
1123 (WebCore::SpellingCorrectionController::UNLESS_ENABLED):
1124 (WebCore::SpellingCorrectionController::shouldStartTimeFor):
1125 (WebCore::SpellingCorrectionController::shouldRemoveMarkersUponEditing):
1126 * editing/TypingCommand.cpp:
1127 (WebCore::TypingCommand::insertText):
1128 (WebCore::TypingCommand::markMisspellingsAfterTyping):
1129 (WebCore::TypingCommand::deleteKeyPressed):
1130 (WebCore::TypingCommand::forwardDeleteKeyPressed):
1131 * editing/htmlediting.h:
1132 (WebCore::isAmbiguousBoundaryCharacter):
1133 * page/EditorClient.h:
1135 (WebCore::Frame::setPageAndTextZoomFactors):
1137 2011-04-08 Alpha Lam <hclam@chromium.org>
1139 Unreviewed, rolling out r83335.
1140 http://trac.webkit.org/changeset/83335
1141 https://bugs.webkit.org/show_bug.cgi?id=53556
1143 GTK and QT bots are broken
1146 * Configurations/FeatureDefines.xcconfig:
1147 * DerivedSources.make:
1150 * WebCore.xcodeproj/project.pbxproj:
1152 * html/HTMLAttributeNames.in:
1153 * html/HTMLTagNames.in:
1154 * html/HTMLTrackElement.cpp: Removed.
1155 * html/HTMLTrackElement.h: Removed.
1156 * html/HTMLTrackElement.idl: Removed.
1158 2011-04-08 Brady Eidson <beidson@apple.com>
1160 Reviewed by Adam Roben.
1162 https://bugs.webkit.org/show_bug.cgi?id=58155 and part of <rdar://problem/9251767>
1163 BitmapImage::getFirstCGImageRefOfSize fails if the frameCount hasn't been initialized from the image source.
1165 * platform/graphics/cg/ImageCG.cpp:
1166 (WebCore::BitmapImage::getFirstCGImageRefOfSize): Call frameCount() instead of accessing m_frames.size() to
1167 make sure the frames are properly tallied first.
1169 2011-04-08 Benjamin Poulain <benjamin.poulain@nokia.com>
1171 Reviewed by Andreas Kling.
1173 [Qt] Dragging and dropping an image in edit mode does not work
1174 https://bugs.webkit.org/show_bug.cgi?id=19385
1176 When adding an image to the clipboard, we should also include the HTML code of that image so
1177 it can be used for internal drag and drop.
1179 This HTML is expected by all clients of drop events so a fragment can be moved from one browser to
1180 another, or inside the same browser.
1182 * platform/qt/ClipboardQt.cpp:
1183 (WebCore::ClipboardQt::declareAndWriteDragImage):
1185 2011-04-07 Anna Cavender <annacc@chromium.org>
1187 Reviewed by Eric Carlson.
1189 Setup ENABLE(TRACK) feature define + initial HTMLTrackElement
1190 https://bugs.webkit.org/show_bug.cgi?id=53556
1192 No new tests. No real functionality added just yet.
1195 * Configurations/FeatureDefines.xcconfig:
1196 * DerivedSources.make:
1199 * WebCore.xcodeproj/project.pbxproj:
1201 * html/HTMLAttributeNames.in:
1202 * html/HTMLTagNames.in:
1203 * html/HTMLTrackElement.cpp: Added.
1204 (WebCore::HTMLTrackElement::HTMLTrackElement):
1205 (WebCore::HTMLTrackElement::create):
1206 (WebCore::HTMLTrackElement::insertedIntoTree):
1207 (WebCore::HTMLTrackElement::willRemove):
1208 (WebCore::HTMLTrackElement::src):
1209 (WebCore::HTMLTrackElement::setSrc):
1210 (WebCore::HTMLTrackElement::kind):
1211 (WebCore::HTMLTrackElement::setKind):
1212 (WebCore::HTMLTrackElement::srclang):
1213 (WebCore::HTMLTrackElement::setSrclang):
1214 (WebCore::HTMLTrackElement::label):
1215 (WebCore::HTMLTrackElement::setLabel):
1216 (WebCore::HTMLTrackElement::isDefault):
1217 (WebCore::HTMLTrackElement::setIsDefault):
1218 (WebCore::HTMLTrackElement::isURLAttribute):
1219 * html/HTMLTrackElement.h: Added.
1220 * html/HTMLTrackElement.idl: Added.
1222 2011-04-07 Jer Noble <jer.noble@apple.com>
1224 Reviewed by Eric Carlson.
1226 Logic error in HTMLMediaElement::exitFullscreen()
1227 https://bugs.webkit.org/show_bug.cgi?id=58085
1229 The new full screen API case could fall through to the legacy API case
1230 unintentionally if a script calls exitFullscreen on an element which is
1231 not the current full screen element.
1233 * html/HTMLMediaElement.cpp:
1234 (WebCore::HTMLMediaElement::enterFullscreen):
1235 (WebCore::HTMLMediaElement::exitFullscreen):
1237 2011-04-08 Mike Reed <reed@google.com>
1239 Reviewed by Eric Seidel.
1241 Replace SKIA_TEXT with isNativeFontRenderingAllowed() for print-preview to work
1242 https://bugs.webkit.org/show_bug.cgi?id=57782
1244 No new tests. This change only affects print-preview and build option SKIA_GPU
1246 * platform/graphics/skia/SkiaFontWin.cpp:
1247 (WebCore::paintSkiaText):
1249 2011-04-08 Ryosuke Niwa <rniwa@webkit.org>
1251 Reviewed by Tony Chang, Darin Adler, and Enrica Casucci.
1253 REGRESSION(r81887): Crash in SplitElement
1254 https://bugs.webkit.org/show_bug.cgi?id=57743
1256 The crash was caused by ReplaceSelectionCommand::doApply's calling splitElement with computeNodeAfterPosition
1257 even when the position was after the last node in it container. Since all we are doing here is to splitting tree
1258 up until the highest ancestor with isInlineNodeWithStyle, replaced the while loop by calls to splitTreeToNode
1259 and highestEnclosingNodeOfType.
1261 Also fixed a bug in splitTreeToNode not to check the difference in visible position when splitting the ancestor,
1262 which would have introduced unnecessary nodes when splitting tree and a bug in highestEnclosingNodeOfType that
1263 it incorrectly called deprecatedNode instead of containerNode.
1265 Test: editing/inserting/insert-images-in-pre-x-crash.html
1267 * editing/CompositeEditCommand.cpp:
1268 (WebCore::CompositeEditCommand::splitTreeToNode):
1269 * editing/ReplaceSelectionCommand.cpp:
1270 (WebCore::ReplaceSelectionCommand::doApply):
1271 * editing/htmlediting.cpp:
1272 (WebCore::highestEnclosingNodeOfType):
1274 2011-04-08 Antti Koivisto <antti@apple.com>
1276 Reviewed by Tony Gentilcore.
1278 Incoming source should be preload scanned when the parser is blocked
1279 https://bugs.webkit.org/show_bug.cgi?id=58117
1281 Scan the appended source if parser is blocked.
1283 Test: http/tests/loading/preload-append-scan.php
1285 * html/parser/HTMLDocumentParser.cpp:
1286 (WebCore::HTMLDocumentParser::append):
1288 2011-04-08 Martin Robinson <mrobinson@igalia.com>
1290 Reviewed by Xan Lopez.
1292 [GTK] Fix the WebKit2 build for older versions of GTK+
1293 https://bugs.webkit.org/show_bug.cgi?id=58095
1295 No new tests. This is just a build fix.
1297 * platform/gtk/GtkVersioning.c:
1298 (gdk_window_create_similar_surface): Reimplement this method for older versions of GDK.
1299 * platform/gtk/GtkVersioning.h: Add the new method to the header.
1301 2011-04-08 Misha Tyutyunik <michael.tyutyunik@nokia.com>
1303 Reviewed by Laszlo Gombos.
1305 [Qt] Plugin is not scrolled together with page content or jumping
1306 when content is rendered using cache (backing store).
1307 https://bugs.webkit.org/show_bug.cgi?id=56130
1309 This is a Symbian portion of the fix. For Linux it looks like
1310 it's enough to call set geometry which should be addressed in
1311 https://bugs.webkit.org/show_bug.cgi?id=57179
1313 No new tests required. This can be tested with manual tests from
1314 WebCore/manual-tests/qt and WebCore/manual-tests/plugins
1316 * plugins/symbian/PluginViewSymbian.cpp:
1317 (WebCore::PluginView::updatePluginWidget):
1319 2011-04-08 Abhishek Arya <inferno@chromium.org>
1321 Unreviewed. Remove accidental printf added in r83306.
1323 * page/EventHandler.cpp:
1324 (WebCore::EventHandler::sendContextMenuEvent):
1326 2011-04-08 Enrica Casucci <enrica@apple.com>
1328 Reviewed by Darin Adler.
1330 Dragging text in a WebKit2 window results in a copy instead of a move.
1331 https://bugs.webkit.org/show_bug.cgi?id=56772
1332 <rdar://problem/9165140>
1334 cleanupAfterSystemDrag cannot call dragEnd in WebKit2, since
1335 the call to startDrag is asynchronous.
1337 * page/mac/DragControllerMac.mm:
1338 (WebCore::DragController::cleanupAfterSystemDrag):
1340 2011-04-05 Dimitri Glazkov <dglazkov@chromium.org>
1342 Reviewed by Darin Adler.
1344 Move WheelEvent-dispatching logic into WheelEventDispatchMediator.
1345 https://bugs.webkit.org/show_bug.cgi?id=57642
1347 Covered by existing tests, no functional change.
1351 (WebCore::EventDispatchMediator::EventDispatchMediator): Added default
1353 (WebCore::EventDispatchMediator::event): Inlined.
1354 (WebCore::EventDispatchMediator::setEvent): Added.
1355 * dom/EventDispatcher.cpp: Removed dispatchWheelEvent.
1356 * dom/EventDispatcher.h: Updated decls.
1358 (WebCore::Node::dispatchWheelEvent): Changed to use the mediator and
1359 return a bool, like other dispatch event functions.
1360 * dom/Node.h: Changed decl.
1361 * dom/WheelEvent.cpp:
1362 (WebCore::granularity): Moved from EventDispatcher.
1363 (WebCore::WheelEventDispatchMediator::WheelEventDisatchMediator): Added.
1364 (WebCore::WheelEventDispatchMediator::event): Added.
1365 (WebCore::WheelEventDispatchMediator::dispatchEvent): Added.
1366 * dom/WheelEvent.h: Updated decls.
1367 * page/EventHandler.cpp:
1368 (WebCore::EventHandler::handleWheelEvent): Changed to receive and react
1369 to the return value.
1371 2011-04-08 Jessie Berlin <jberlin@apple.com>
1373 Windows build warning fix.
1375 * WebCore.vcproj/WebCore.vcproj:
1376 Since ShadowRoot.cpp is included in the DOMAllInOne.cpp file, it should be excluded from
1379 2011-04-07 Pavel Podivilov <podivilov@chromium.org>
1381 Reviewed by Pavel Feldman.
1383 Web Inspector: update breakpoints according to source frame decorations after live edit.
1384 https://bugs.webkit.org/show_bug.cgi?id=58029
1386 * inspector/front-end/DebuggerPresentationModel.js:
1387 (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didEditScriptSource):
1388 (WebInspector.DebuggerPresentationModel.prototype.editScriptSource):
1389 (WebInspector.DebuggerPresentationModel.prototype._updateResourceContent.didEditScriptSource):
1390 (WebInspector.DebuggerPresentationModel.prototype._updateResourceContent):
1391 * inspector/front-end/SourceFile.js:
1392 (WebInspector.SourceFile.prototype.set content):
1393 * inspector/front-end/SourceFrame.js:
1394 (WebInspector.SourceFrame.prototype._handleSave.didEditScriptSource):
1395 (WebInspector.SourceFrame.prototype._handleSave):
1397 2011-04-08 Pavel Podivilov <podivilov@chromium.org>
1399 Reviewed by Pavel Feldman.
1401 Web Inspector: fix scripts concatenation in scripts panel.
1402 https://bugs.webkit.org/show_bug.cgi?id=58138
1404 When there is just one script starting at 0:0 it should not be surrounded by <script> framing.
1406 * inspector/front-end/SourceFile.js:
1407 (WebInspector.SourceFile.prototype._loadResourceContent):
1408 (WebInspector.SourceFile.prototype._loadAndConcatenateScriptsContent):
1410 2011-04-08 Pavel Feldman <pfeldman@chromium.org>
1412 Reviewed by Yury Semikhatsky.
1414 Web Inspector: use "locations" for debugger scripts, "lineNumbers" for the UI elements.
1415 https://bugs.webkit.org/show_bug.cgi?id=58118
1417 This change reuses location for call frames in the protocol + structures script
1418 location <-> source lines interaction better. When we need UI columns, we will add
1419 them, but we should distinguish between script and UI terms on the type level, not naming.
1421 * English.lproj/localizedStrings.js:
1422 * bindings/v8/DebuggerScript.js:
1423 * inspector/InjectedScriptSource.js:
1424 * inspector/Inspector.json:
1425 * inspector/front-end/CallStackSidebarPane.js:
1426 (WebInspector.CallStackSidebarPane.prototype.update.didGetSourceLine):
1427 (WebInspector.CallStackSidebarPane.prototype.update):
1428 * inspector/front-end/DebuggerPresentationModel.js:
1429 (WebInspector.DebuggerPresentationModel.prototype.addConsoleMessage.didRequestSourceMapping):
1430 (WebInspector.DebuggerPresentationModel.prototype.addConsoleMessage):
1431 (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
1432 (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger.didRequestSourceMapping):
1433 (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger):
1434 (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded.didRequestSourceMapping):
1435 (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
1436 (WebInspector.PresenationCallFrame):
1437 (WebInspector.PresenationCallFrame.prototype.sourceLine.didRequestSourceMapping):
1438 (WebInspector.PresenationCallFrame.prototype.sourceLine):
1439 * inspector/front-end/ScriptFormatter.js:
1440 (WebInspector.ScriptFormatter.locationToPosition):
1441 (WebInspector.ScriptFormatter.lineToPosition):
1442 * inspector/front-end/ScriptsPanel.js:
1443 (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetSourceLocation):
1444 (WebInspector.ScriptsPanel.prototype._debuggerPaused):
1445 (WebInspector.ScriptsPanel.prototype.showAnchorLocation):
1446 (WebInspector.ScriptsPanel.prototype._callFrameSelected.didGetSourceLocation):
1447 (WebInspector.ScriptsPanel.prototype._callFrameSelected):
1448 * inspector/front-end/SourceFile.js:
1449 (WebInspector.SourceMapping.prototype.scriptLocationToSourceLine):
1450 (WebInspector.SourceMapping.prototype.sourceLineToScriptLocation):
1451 (WebInspector.FormattedSourceMapping.prototype.scriptLocationToSourceLine):
1452 (WebInspector.FormattedSourceMapping.prototype.sourceLineToScriptLocation):
1454 2011-04-08 Pavel Podivilov <podivilov@chromium.org>
1456 Reviewed by Pavel Feldman.
1458 Web Inspector: distinguish breakpoints set on de-obfuscated sources from breakponts set on original sources.
1459 https://bugs.webkit.org/show_bug.cgi?id=58133
1461 * inspector/front-end/DebuggerPresentationModel.js:
1462 (WebInspector.DebuggerPresentationModel.prototype.canEditScriptSource):
1463 (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
1464 (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
1465 (WebInspector.DebuggerPresentationModel.prototype._sourceFileForScript):
1466 (WebInspector.DebuggerPresentationModel.prototype._scriptForSourceFileId):
1467 (WebInspector.DebuggerPresentationModel.prototype._createSourceFileId):
1468 (WebInspector.DebuggerPresentationModel.prototype._reset):
1470 2011-04-07 Pavel Podivilov <podivilov@chromium.org>
1472 Reviewed by Pavel Feldman.
1474 Web Inspector: make SourceFrame TextViewer's delegate for editing operations.
1475 https://bugs.webkit.org/show_bug.cgi?id=58026
1477 This is the first step of decoupling TextViewer from SourceFrame.
1479 * inspector/front-end/SourceFrame.js:
1480 (WebInspector.SourceFrame):
1481 (WebInspector.SourceFrame.prototype.show):
1482 (WebInspector.SourceFrame.prototype.hide):
1483 (WebInspector.SourceFrame.prototype._ensureContentLoaded):
1484 (WebInspector.SourceFrame.prototype.contentEditable):
1485 (WebInspector.SourceFrame.prototype.startEditing):
1486 (WebInspector.SourceFrame.prototype.endEditing):
1487 (WebInspector.SourceFrame.prototype._createTextViewer):
1488 (WebInspector.SourceFrame.prototype._handleSave):
1489 (WebInspector.SourceFrame.prototype._handleRevertEditing):
1490 * inspector/front-end/TextViewer.js:
1491 (WebInspector.TextViewer.prototype._enterInternalTextChangeMode):
1492 (WebInspector.TextViewer.prototype._exitInternalTextChangeMode):
1493 (WebInspector.TextViewer.prototype._syncDecorationsForLine):
1494 (WebInspector.TextViewer.prototype._doubleClick):
1495 (WebInspector.TextViewerDelegate):
1496 (WebInspector.TextViewerDelegate.prototype.contentEditable):
1497 (WebInspector.TextViewerDelegate.prototype.startEditing):
1498 (WebInspector.TextViewerDelegate.prototype.endEditing):
1499 (WebInspector.TextEditorMainPanel.prototype._paintScheduledLines):
1500 (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates):
1501 * inspector/front-end/inspector.html:
1503 2011-04-08 Leandro Gracia Gil <leandrogracia@chromium.org>
1505 Reviewed by Steve Block.
1507 Media Stream API: add the getUserMedia method and the Javascript bindings.
1508 https://bugs.webkit.org/show_bug.cgi?id=56586
1510 Add the getUserMedia method to the navigator and its new Javascript types.
1511 Current specification: http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#video-conferencing-and-peer-to-peer-communication
1513 Tests: fast/dom/MediaStream/argument-types.html
1514 fast/dom/MediaStream/enabled.html
1515 fast/dom/MediaStream/no-interface-object.html
1517 * Android.derived.jscbindings.mk:
1518 * Android.derived.v8bindings.mk:
1519 * Android.v8bindings.mk:
1521 * CodeGenerators.pri:
1522 * DerivedSources.cpp:
1523 * DerivedSources.make:
1524 * GNUmakefile.list.am:
1527 * WebCore.vcproj/WebCore.vcproj:
1528 * WebCore.xcodeproj/project.pbxproj:
1529 * bindings/js/JSNavigatorCustom.cpp:
1530 (WebCore::JSNavigator::webkitGetUserMedia):
1531 * bindings/v8/custom/V8NavigatorCustom.cpp: Added.
1532 (WebCore::V8Navigator::webkitGetUserMediaCallback):
1533 * page/Navigator.cpp:
1534 (WebCore::Navigator::webkitGetUserMedia):
1536 * page/Navigator.idl:
1537 * page/NavigatorUserMediaError.h: Added.
1538 (WebCore::NavigatorUserMediaError::NavigatorUserMediaError):
1539 (WebCore::NavigatorUserMediaError::~NavigatorUserMediaError):
1540 (WebCore::NavigatorUserMediaError::code):
1541 * page/NavigatorUserMediaError.idl: Added.
1542 * page/NavigatorUserMediaErrorCallback.h: Added.
1543 (WebCore::NavigatorUserMediaErrorCallback::~NavigatorUserMediaErrorCallback):
1544 * page/NavigatorUserMediaErrorCallback.idl: Added.
1545 * page/NavigatorUserMediaSuccessCallback.h: Added.
1546 (WebCore::NavigatorUserMediaSuccessCallback::~NavigatorUserMediaSuccessCallback):
1547 * page/NavigatorUserMediaSuccessCallback.idl: Added.
1549 2011-04-08 Mikhail Naganov <mnaganov@chromium.org>
1551 Reviewed by Pavel Feldman.
1553 Web Inspector: [Chromium] Add more tests for detailed heap snapshots UI.
1554 https://bugs.webkit.org/show_bug.cgi?id=58010
1555 https://bugs.webkit.org/show_bug.cgi?id=58011
1557 Added tests for "Containment" view. Minor refactorings, bugs fixed.
1558 Split one large tests into smaller ones to avoid timing out in debug mode.
1560 Tests: inspector/profiler/detailed-heapshots-containment-expansion-preserved-when-sorting.html
1561 inspector/profiler/detailed-heapshots-containment-show-all.html
1562 inspector/profiler/detailed-heapshots-containment-show-next.html
1563 inspector/profiler/detailed-heapshots-containment-sorting.html
1564 inspector/profiler/detailed-heapshots-summary-expansion-preserved-when-sorting.html
1565 inspector/profiler/detailed-heapshots-summary-show-all.html
1566 inspector/profiler/detailed-heapshots-summary-show-next.html
1567 inspector/profiler/detailed-heapshots-summary-sorting.html
1569 * inspector/front-end/DetailedHeapshotGridNodes.js:
1570 (WebInspector.HeapSnapshotGridNode):
1571 (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
1572 (WebInspector.HeapSnapshotGridNode.prototype.sort.doSort):
1573 (WebInspector.HeapSnapshotGridNode.prototype.sort):
1574 (WebInspector.HeapSnapshotGenericObjectNode):
1575 (WebInspector.HeapSnapshotObjectNode):
1576 (WebInspector.HeapSnapshotInstanceNode):
1577 (WebInspector.HeapSnapshotConstructorNode):
1578 (WebInspector.HeapSnapshotDiffNode):
1579 (WebInspector.HeapSnapshotDominatorObjectNode):
1580 * inspector/front-end/DetailedHeapshotView.js:
1581 (WebInspector.HeapSnapshotContainmentDataGrid):
1582 (WebInspector.HeapSnapshotDominatorsDataGrid):
1584 2011-04-08 Andrey Adaikin <aandrey@google.com>
1586 Reviewed by Pavel Feldman.
1588 Web Inspector: Bugs in some corner cases in the text editor
1589 https://bugs.webkit.org/show_bug.cgi?id=58025
1591 This solves the following bugs:
1592 1) The very last _empty_ line would not be deleted if you hit a Backspace on it, or the selection text to be deleted is extended to the very bottom of the editor.
1593 2) An odd corner case: delete all source code from the editor, hit backspace on the only empty line, then add a character. In this case the browser will insert a TEXT node instead of a DIV node for a lineRow.
1595 * inspector/front-end/TextViewer.js:
1596 (WebInspector.TextEditorMainPanel.prototype._selectionToPosition):
1597 (WebInspector.TextEditorMainPanel.prototype._enclosingLineRowOrSelf):
1598 (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates):
1599 (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
1600 (WebInspector.TextEditorMainPanel.prototype._collectLinesFromDiv):
1602 2011-04-07 Pavel Podivilov <podivilov@chromium.org>
1604 Reviewed by Pavel Feldman.
1606 Web Inspector: add test for script formatter worker.
1607 https://bugs.webkit.org/show_bug.cgi?id=57447
1609 Test: inspector/debugger/script-formatter.html
1612 * WebCore.xcodeproj/project.pbxproj:
1613 * gyp/streamline-inspector-source.sh:
1614 * inspector/front-end/DebuggerPresentationModel.js:
1615 (WebInspector.DebuggerPresentationModel.prototype._addScript):
1616 (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
1617 (WebInspector.DebuggerPresentationModel.prototype._formatter):
1618 * inspector/front-end/ScriptFormatterWorker.js:
1620 2011-04-08 Andrey Adaikin <aandrey@google.com>
1622 Reviewed by Pavel Feldman.
1624 Web Inspector: Tweak dynamically constants for the async highlighting in text editor
1625 https://bugs.webkit.org/show_bug.cgi?id=58035
1627 * inspector/front-end/TextViewer.js:
1628 (WebInspector.TextEditorMainPanel.prototype._expandChunks):
1629 (WebInspector.TextEditorMainPanel.prototype._schedulePaintLines):
1630 (WebInspector.TextEditorMainPanel.prototype._paintScheduledLines):
1631 (WebInspector.TextEditorMainPanel.prototype._restorePaintLinesOperationsCredit):
1632 (WebInspector.TextEditorMainPanel.prototype._adjustPaintLinesOperationsRefreshValue):
1634 2011-04-08 Andrey Kosyakov <caseq@chromium.org>
1636 Reviewed by Yury Semikhatsky.
1638 Web Inspector: HAR compliance fixes
1639 https://bugs.webkit.org/show_bug.cgi?id=58124
1641 - Always provide some values for queryString and cookies, even though arrays may be empty
1642 - Always provide an empty cache object
1643 - Added entire HARLog to test
1644 - Workaround in test to avoid custom expectations (favicon.ico appears in log on certain platforms)
1646 * inspector/front-end/HAREntry.js:
1647 (WebInspector.HAREntry.prototype.build):
1648 (WebInspector.HAREntry.prototype._buildRequest):
1649 (WebInspector.HAREntry.prototype._buildResponse):
1651 2011-04-08 Adam Barth <abarth@webkit.org>
1653 Attempt to fix the Qt build.
1655 * css/CSSStyleApplyProperty.cpp:
1657 2011-04-07 Adam Barth <abarth@webkit.org>
1659 Reviewed by Eric Seidel.
1661 Refactor WebCore/GNUMakefile.am to separate list of files
1662 https://bugs.webkit.org/show_bug.cgi?id=58116
1664 This change is similar to the cooresponding to change to
1665 JavaScriptCore. We hope to generate GNUmakefile.list.am automatically
1669 * GNUmakefile.list.am: Added.
1671 2011-04-07 Geoffrey Garen <ggaren@apple.com>
1675 Rolled out some accidentally-committed changes in my last commit.
1677 * dom/EventTarget.cpp:
1678 (WebCore::EventTarget::addEventListener):
1679 (WebCore::EventTarget::removeEventListener):
1680 * dom/EventTarget.h:
1682 2011-04-07 Julien Chaffraix <jchaffraix@codeaurora.org>
1684 Reviewed by Alexey Proskuryakov.
1686 EventSource should only accept UTF-8 charset
1687 https://bugs.webkit.org/show_bug.cgi?id=56942
1689 Following the discussion on bug 45372, this change implements the recommended
1690 way of handling "charset". We only accept UTF-8 but no other encoding. This matches
1691 the encoding of the EventSource and also may fix TomCat that automatically send this
1694 * page/EventSource.cpp:
1695 (WebCore::EventSource::didReceiveResponse): We now check the charset attribute and if it is
1696 not UTF-8, abort the connection and log the error to the console. Also we log if the MIME type
1697 is wrong to the console to help debugging (only in the case of an HTTP 200 response though).
1699 2011-04-07 Geoffrey Garen <ggaren@apple.com>
1701 Reviewed by Maciej Stachowiak.
1703 Some Handle<T> cleanup
1704 https://bugs.webkit.org/show_bug.cgi?id=58109
1706 * bindings/js/ScriptValue.h:
1707 (WebCore::ScriptValue::ScriptValue): Updated for new null constructor.
1708 (WebCore::ScriptValue::hasNoValue): Updated for removal of isEmpty().
1710 2011-04-07 Dominic Cooney <dominicc@google.com>
1712 Reviewed by Dimitri Glazkov.
1714 Let shadow DOM have a list of nodes at the top level of a shadow.
1715 https://bugs.webkit.org/show_bug.cgi?id=57813
1717 Adds ShadowRoot, a list of nodes, to be a parent for top-level
1718 shadow children. Forwards rendering through the root and into the
1721 Covered by existing tests of elements that use this style of shadow.
1723 * Android.mk: add ShadowRoot.h/cpp
1729 * WebCore.vcproj/WebCore.vcproj:
1730 * WebCore.xcodeproj/project.pbxproj:
1731 * css/CSSStyleSelector.cpp:
1732 (WebCore::CSSStyleSelector::initForStyleResolve): proxy style to host
1733 * dom/ContainerNode.cpp: parent nodes that are shadow roots are alive
1734 (WebCore::ContainerNode::insertBefore):
1735 (WebCore::ContainerNode::replaceChild):
1736 (WebCore::ContainerNode::removeChild):
1737 (WebCore::ContainerNode::appendChild):
1738 * dom/DocumentFragment.cpp:
1739 (WebCore::DocumentFragment::DocumentFragment):
1740 * dom/DocumentFragment.h:
1742 (WebCore::Element::recalcStyle): look through ShadowRoots for host's style
1743 (WebCore::Element::shadowRoot): should be const
1744 (WebCore::Element::ensureShadowRoot): simpler than setShadowRoot
1746 * dom/ElementRareData.h:
1748 (WebCore::Node::parentNodeForRenderingAndStyle): indirection so
1749 ShadowRoot can forward to the host's renderer
1750 (WebCore::Node::createRendererAndStyle):
1751 (WebCore::Node::createRendererIfNeeded):
1753 (WebCore::Node::isShadowBoundary): temporary, to differentiate
1754 old- and new-style, until all roots are ShadowRoot instances
1755 * dom/ShadowRoot.cpp: Added.
1756 (WebCore::ShadowRoot::ShadowRoot):
1757 (WebCore::ShadowRoot::recalcStyle): forward recalc to children
1758 * dom/ShadowRoot.h: Added.
1759 (WebCore::ShadowRoot::isShadowBoundary):
1760 (WebCore::ShadowRoot::create):
1761 * html/HTMLKeygenElement.cpp: use ensureShadowRoot
1762 (WebCore::HTMLKeygenElement::HTMLKeygenElement):
1763 (WebCore::HTMLKeygenElement::parseMappedAttribute):
1764 (WebCore::HTMLKeygenElement::appendFormData):
1765 (WebCore::HTMLKeygenElement::reset):
1766 (WebCore::HTMLKeygenElement::shadowSelect):
1767 * html/HTMLKeygenElement.h:
1768 * html/HTMLMeterElement.cpp: use ensureShadowRoot
1769 (WebCore::HTMLMeterElement::createShadowSubtree):
1770 * html/HTMLProgressElement.cpp: use ensureShadowRoot
1771 (WebCore::HTMLProgressElement::createShadowSubtree):
1772 * html/InputType.cpp: use ensureShadowRoot
1773 (WebCore::InputType::destroyShadowSubtree):
1774 * html/RangeInputType.cpp: use ensureShadowRoot
1775 (WebCore::RangeInputType::handleMouseDownEvent):
1776 (WebCore::RangeInputType::createShadowSubtree):
1777 (WebCore::RangeInputType::valueChanged):
1778 (WebCore::RangeInputType::shadowSliderThumb):
1779 * html/RangeInputType.h:
1780 * html/ValidationMessage.cpp: use ensureShadowRoot
1781 (WebCore::ValidationMessage::buildBubbleTree):
1782 (WebCore::ValidationMessage::deleteBubbleTree):
1783 * html/shadow/SliderThumbElement.cpp:
1784 (WebCore::SliderThumbElement::setPositionFromPoint):
1785 (WebCore::SliderThumbElement::hostInput):
1786 * html/shadow/SliderThumbElement.h:
1787 * rendering/MediaControlElements.cpp: use ensureShadowRoot
1788 (WebCore::MediaControlInputElement::attach):
1789 (WebCore::MediaControlInputElement::updateStyle):
1790 * rendering/RenderSlider.cpp: use ensureShadowRoot
1791 (WebCore::RenderSlider::thumbRect):
1792 (WebCore::RenderSlider::layout):
1793 (WebCore::RenderSlider::shadowSliderThumb):
1794 (WebCore::RenderSlider::inDragMode):
1795 * rendering/RenderSlider.h:
1797 2011-04-07 Maciej Stachowiak <mjs@apple.com>
1799 Reviewed by Simon Fraser.
1801 REGRESSION (r80871): Crash when visiting http://broadband.biglobe.ne.jp/
1802 https://bugs.webkit.org/show_bug.cgi?id=56297
1803 <rdar://problem/9131597>
1805 Test: fast/css-generated-content/table-row-after-no-crash.html
1807 * rendering/RenderTableRow.cpp:
1808 (WebCore::RenderTableRow::styleDidChange): Factor out generation of before/after
1809 content, and only do it if the row already has a parent. For construction of
1810 anonymous cells to work correctly, the row needs to already have a parent, so
1811 in that case wait a bit.
1812 (WebCore::RenderTableRow::updateBeforeAndAfterContent): Factored out to here.
1813 * rendering/RenderTableRow.h:
1814 * rendering/RenderTableSection.cpp:
1815 (WebCore::RenderTableSection::addChild): When adding a row, update its
1816 before/after content, in case it had any.
1818 2011-04-07 Beth Dakin <bdakin@apple.com>
1820 Reviewed by Simon Fraser.
1822 Probable fix for <rdar://problem/9251443> Crashing on exception: -
1823 [ScrollAnimationHelperDelegate _pixelAlignProposedScrollPosition:]: unrecognized
1824 selector sent to instance ADDRESS.
1826 Need to implement new delegate method.
1827 * platform/mac/ScrollAnimatorMac.mm:
1828 (-[ScrollAnimationHelperDelegate _pixelAlignProposedScrollPosition:]):
1830 2011-04-07 Ian Henderson <ianh@apple.com>
1832 Reviewed by Simon Fraser.
1834 Optimize filling rounded rects that are actually ellipses
1835 https://bugs.webkit.org/show_bug.cgi?id=58098
1837 In CG, drawing an ellipse directly is faster than constructing and
1838 filling a rounded rect path. Detect when the given rounded rect is
1839 actually an ellipse and draw it directly in this case.
1841 * platform/graphics/cg/GraphicsContextCG.cpp:
1842 (WebCore::GraphicsContext::fillRoundedRect):
1844 2011-04-07 Ned Holbrook <nholbrook@apple.com>
1846 Reviewed by Dan Bernstein.
1848 CTLine objects should outlive their CTRuns
1849 https://bugs.webkit.org/show_bug.cgi?id=58063
1851 * platform/graphics/mac/ComplexTextController.h: Add m_coreTextLines, to be destroyed after m_complexTextRuns.
1852 * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
1853 (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Moot m_coreTextRun.
1854 (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): Append line to m_coreTextLines.
1856 2011-04-07 Nat Duca <nduca@chromium.org>
1858 Reviewed by David Levin.
1860 [chromium] Compositor thread infrastructure
1861 https://bugs.webkit.org/show_bug.cgi?id=56131
1863 Introduce chrome compositor thread and related
1867 * platform/graphics/chromium/cc/CCMainThread.cpp: Added.
1868 (WebCore::CCMainThread::performTask):
1869 (WebCore::CCMainThread::postTask):
1870 * platform/graphics/chromium/cc/CCMainThread.h: Added.
1871 (WebCore::CCMainThread::Task::~Task):
1872 (WebCore::CCMainThread::Task::instance):
1873 (WebCore::CCMainThread::Task::Task):
1874 * platform/graphics/chromium/cc/CCMainThreadTask.h: Added.
1875 (WebCore::MainThreadTask0::create):
1876 (WebCore::MainThreadTask0::MainThreadTask0):
1877 (WebCore::MainThreadTask0::performTask):
1878 (WebCore::MainThreadTask1::create):
1879 (WebCore::MainThreadTask1::MainThreadTask1):
1880 (WebCore::MainThreadTask1::performTask):
1881 (WebCore::MainThreadTask2::create):
1882 (WebCore::MainThreadTask2::MainThreadTask2):
1883 (WebCore::MainThreadTask2::performTask):
1884 (WebCore::MainThreadTask3::create):
1885 (WebCore::MainThreadTask3::MainThreadTask3):
1886 (WebCore::MainThreadTask3::performTask):
1887 (WebCore::createMainThreadTask):
1888 * platform/graphics/chromium/cc/CCThread.cpp: Added.
1889 (WebCore::CCThread::create):
1890 (WebCore::CCThread::CCThread):
1891 (WebCore::CCThread::~CCThread):
1892 (WebCore::CCThread::postTask):
1893 (WebCore::CCThread::compositorThreadStart):
1894 (WebCore::CCThread::runLoop):
1895 * platform/graphics/chromium/cc/CCThread.h: Added.
1896 (WebCore::CCThread::Task::~Task):
1897 (WebCore::CCThread::Task::instance):
1898 (WebCore::CCThread::Task::Task):
1899 (WebCore::CCThread::threadID):
1900 (WebCore::CCCompletionEvent::CCCompletionEvent):
1901 (WebCore::CCCompletionEvent::~CCCompletionEvent):
1902 (WebCore::CCCompletionEvent::wait):
1903 (WebCore::CCCompletionEvent::signal):
1904 * platform/graphics/chromium/cc/CCThreadTask.h: Added.
1905 (WebCore::CCThreadTask0::create):
1906 (WebCore::CCThreadTask0::CCThreadTask0):
1907 (WebCore::CCThreadTask0::performTask):
1908 (WebCore::CCThreadTask1::create):
1909 (WebCore::CCThreadTask1::CCThreadTask1):
1910 (WebCore::CCThreadTask1::performTask):
1911 (WebCore::CCThreadTask2::create):
1912 (WebCore::CCThreadTask2::CCThreadTask2):
1913 (WebCore::CCThreadTask2::performTask):
1914 (WebCore::CCThreadTask3::create):
1915 (WebCore::CCThreadTask3::CCThreadTask3):
1916 (WebCore::CCThreadTask3::performTask):
1917 (WebCore::createCCThreadTask):
1919 2011-04-07 Ryosuke Niwa <rniwa@webkit.org>
1921 Reviewed by Eric Seidel.
1923 REGRESSION (r46914, r48764): When typing in Mail, line wrapping frequently occurs in the middle of words
1924 https://bugs.webkit.org/show_bug.cgi?id=57872
1926 r46914 initially introduced a regression by replacing calls to styleAtPosition by editingStyleAtPosition
1927 because editingStyleAtPosition did not avoid tab span to obtain the computed style unlike styleAtPosition.
1929 r46914 also introduced a regression by cloning hierarchy under new block at the insertion position without
1930 avoiding the tab span.
1932 Fixed the both regressions by avoiding tab spans when computing the editing style and when cloning hierarchy.
1933 Also reverted r46914 for the general code path because re-creating node hierarchy duplicates nodes when
1934 we're moving nodes after the paragraph separator. Instead, we now split the tree up until the start block
1935 before moving the nodes.
1937 Tests: editing/inserting/insert-paragraph-after-tab-span-and-text.html
1938 editing/inserting/insert-paragraph-separator-tab-span.html
1940 * editing/DeleteSelectionCommand.cpp:
1941 (WebCore::DeleteSelectionCommand::saveTypingStyleState): Since EditingStyle's constructor avoids a tab span,
1942 no longer calls positionBeforeTabSpan on the position passed to EditingStyle's constructor.
1943 * editing/EditingStyle.cpp:
1944 (WebCore::EditingStyle::init): Always avoid a tab span when computing the editing style.
1945 * editing/InsertParagraphSeparatorCommand.cpp:
1946 (WebCore::InsertParagraphSeparatorCommand::doApply): Avoid cloning tab spans and inserting a paragraph
1947 separator into a paragraph separator.
1948 * editing/htmlediting.cpp:
1949 (WebCore::positionOutsideTabSpan): Renamed from positionBeforeTabSpan. Also returns the position in the parent
1950 node after the tab span if the position was at the end of the tab span.
1951 * editing/htmlediting.h:
1953 2011-04-07 Jia Pu <jpu@apple.com>
1955 Reviewed by Darin Adler.
1957 [Mac] Editor::setComposition() should not trigger correction panel timer.
1958 https://bugs.webkit.org/show_bug.cgi?id=58049
1959 <rdar://problem/9226305>
1961 On Mac OS X that supports autocorrection panel, typing unconfirmed composition (i.e. unconfirmed Japanese or Chinese input)
1962 should not start autocorrection timer. We added a member variable, m_shouldPreventSpellChecking, to TypingCommand.
1963 When this value is true, markMisspellingsAfterTyping() will not be called in TypingCommand::typingAddedToOpenCommand().
1964 m_shouldPreventSpellChecking is set to true in the TypingCommand objects created by Editor::setComposition().
1966 No new tests. No deterministically reproducible test case. Patch is based on static code analysis. Testing this also requires firing
1967 autocorrection panel timer, which can not be easily done in automated fashion.
1969 * editing/Editor.cpp:
1970 (WebCore::Editor::deleteWithDirection):
1971 (WebCore::Editor::insertTextWithoutSendingTextEvent):
1972 (WebCore::Editor::confirmComposition):
1973 (WebCore::Editor::setComposition):
1974 * editing/EditorCommand.cpp:
1975 (WebCore::executeDelete):
1976 * editing/TypingCommand.cpp:
1977 (WebCore::TypingCommand::TypingCommand):
1978 (WebCore::TypingCommand::deleteSelection):
1979 (WebCore::TypingCommand::deleteKeyPressed):
1980 (WebCore::TypingCommand::forwardDeleteKeyPressed):
1981 (WebCore::TypingCommand::insertText):
1982 (WebCore::TypingCommand::insertLineBreak):
1983 (WebCore::TypingCommand::insertParagraphSeparator):
1984 (WebCore::TypingCommand::typingAddedToOpenCommand):
1985 * editing/TypingCommand.h:
1986 (WebCore::TypingCommand::create):
1987 (WebCore::TypingCommand::setShouldPreventSpellChecking):
1989 2011-04-07 John Bauman <jbauman@chromium.org>
1991 Reviewed by Kenneth Russell.
1993 clearIfComposited call is really slow
1994 https://bugs.webkit.org/show_bug.cgi?id=57999
1996 Move getContextAttributes call after the if, so it isn't called nearly as often.
2000 * html/canvas/WebGLRenderingContext.cpp:
2001 (WebCore::WebGLRenderingContext::clearIfComposited):
2003 2011-04-07 Luke Macpherson <macpherson@chromium.org>
2005 Reviewed by Dimitri Glazkov.
2007 Implement Backgroun and Mask properties in CSSStyleApplyProperty
2008 https://bugs.webkit.org/show_bug.cgi?id=57922
2010 No tests added as no behavioral changes.
2012 * css/CSSStyleApplyProperty.cpp:
2013 Added ApplyPropertyFillLayer test to handle Background and Mask CSS Properties.
2014 (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
2015 Added constructor calls to set up:
2016 CSSPropertyBackgroundAttachment
2017 CSSPropertyBackgroundClip
2018 CSSPropertyWebkitBackgroundClip
2019 CSSPropertyWebkitBackgroundComposite
2020 CSSPropertyBackgroundOrigin
2021 CSSPropertyWebkitBackgroundOrigin
2022 CSSPropertyBackgroundSize
2023 CSSPropertyWebkitBackgroundSize
2024 CSSPropertyWebkitMaskAttachment
2025 CSSPropertyWebkitMaskClip
2026 CSSPropertyWebkitMaskComposite
2027 CSSPropertyWebkitMaskOrigin
2028 CSSPropertyWebkitMaskSize
2029 * css/CSSStyleApplyProperty.h:
2030 (WebCore::CSSStyleApplyProperty::setPropertyValue):
2031 Add function to specify an equivalent property value in the lookup table.
2032 * css/CSSStyleSelector.cpp:
2033 (WebCore::CSSStyleSelector::applyProperty):
2034 Remove sections now implemented by CSSStyleApplyProperty.
2035 * css/CSSStyleSelector.h:
2036 Make CSSStyleApplyProperty a friend class so that the mapFill* functions are accessible.
2038 2011-04-04 Eric Seidel <eric@webkit.org>
2040 Reviewed by Ryosuke Niwa.
2042 Split run storage out from BidiResolver into a new BidiRunList class
2043 https://bugs.webkit.org/show_bug.cgi?id=57764
2045 Part of what makes BidiResolver and InlineIterator so difficult to understand
2046 (and bug 50912 so difficult to fix) is that BidiResolver is both a state machine
2047 for the Unicode Bidi Algorithm (UBA) as well as storage for the resulting
2048 BidiRuns from the algorithm. This patch breaks the storage aspect off
2049 into its own class BidiRunList.
2051 This patch is only a start. It does not actually fix the problematic ownership
2052 relationship, but it does make it possible to fix such in a second patch.
2054 The run pointers and addRun/prependRun, etc. were already a tightly coupled
2055 logical subset of the BidiResolver class, so moving them into their own class
2056 was both obvious and easy. The only piece of logic I had to move was that
2057 deleteRuns() had a side-effect of setting the m_emptyRun bit on the resolver.
2059 I believe this deleteRuns side-effect was only ever used for one place
2060 (right after findNextLineBreak) and that it's only needed because
2061 findNextLineBreak can sometimes create bidi runs. Run creation appears to be
2062 an unintentional side-effect of how InlineIterator calls through to BidiResolver
2063 as part of bidiNext and not a desired effect of the code. I have added the call
2064 to markCurrentRunEmpty to both places deleteRuns was called (where the resolver
2065 could get re-used) as a safety precaution. We could replace both with ASSERTs
2068 I suspect there may be a small performance win from further refactoring so that
2069 findNextLineBreak does not need to create BidiRuns.
2071 As I commented in the code, callers should own their own BidiRunList which they
2072 pass to BidiResolver::createBidiRunsForLine. I attempted to implement that in
2073 an earlier version of this patch, but it was too complicated with the current
2074 twisted dependencies between InlineIterator/bidiNext and InlineBidiResolver.
2075 raise/lowerExplicitEmbeddingLevel are called unconditionally
2076 from commitExplicitEmbedding (which is called by bidiNext) and expect to have
2077 access to a runs list even in cases where we don't want any runs (findNextLineBreak).
2079 I also cleaned up some of the callers to pass around BidiRunList objects instead
2080 of InlineBidiResolvers now that they're separate objects.
2085 * WebCore.vcproj/WebCore.vcproj:
2086 * WebCore.xcodeproj/project.pbxproj:
2087 * platform/graphics/GraphicsContext.cpp:
2088 (WebCore::GraphicsContext::drawBidiText):
2089 * platform/text/BidiResolver.h:
2090 (WebCore::BidiResolver::BidiResolver):
2091 (WebCore::BidiResolver::runs):
2092 (WebCore::BidiResolver::markCurrentRunEmpty):
2093 (WebCore::::appendRun):
2094 (WebCore::::lowerExplicitEmbeddingLevel):
2095 (WebCore::::raiseExplicitEmbeddingLevel):
2096 (WebCore::::reorderRunsFromLevels):
2097 (WebCore::::createBidiRunsForLine):
2098 * rendering/InlineIterator.h:
2099 (WebCore::InlineBidiResolver::appendRun):
2100 * rendering/RenderBlock.h:
2101 * rendering/RenderBlockLineLayout.cpp:
2102 (WebCore::createRun):
2103 (WebCore::RenderBlock::appendRunsForObject):
2104 (WebCore::reachedEndOfTextRenderer):
2105 (WebCore::RenderBlock::handleTrailingSpaces):
2106 (WebCore::RenderBlock::layoutInlineChildren):
2108 2011-04-07 Naoki Takano <takano.naoki@gmail.com>
2110 Reviewed by Adam Barth.
2112 [Chromium] Fix relocation problem of popup window which introduces autofill popup sometimes moves to screen's top left corner.
2113 https://bugs.webkit.org/show_bug.cgi?id=57911
2114 http://code.google.com/p/chromium/issues/detail?id=78073
2116 Manual test added: manual-tests/autofill-popup-location.html
2118 Originally only height is checked so that it introduces the bug.
2119 So I changed it to check both width and height as size.
2121 * manual-tests/autofill-popup-location.html: Added.
2122 * platform/chromium/PopupMenuChromium.cpp:
2123 (WebCore::PopupContainer::refresh): Check window size between original and new before calling setFrameRect().
2125 2011-04-07 Adam Barth <abarth@webkit.org>
2127 Reviewed by Eric Seidel.
2129 Implement img-src style-src and font-src
2130 https://bugs.webkit.org/show_bug.cgi?id=58018
2132 These are pretty straight forward given the rest of the infrastructure
2135 Tests: http/tests/security/contentSecurityPolicy/image-allowed.html
2136 http/tests/security/contentSecurityPolicy/image-blocked.html
2137 http/tests/security/contentSecurityPolicy/style-allowed.html
2138 http/tests/security/contentSecurityPolicy/style-blocked.html
2139 http/tests/security/contentSecurityPolicy/xsl-allowed.php
2140 http/tests/security/contentSecurityPolicy/xsl-blocked.php
2142 * loader/cache/CachedResourceLoader.cpp:
2143 (WebCore::CachedResourceLoader::canRequest):
2144 * page/ContentSecurityPolicy.cpp:
2145 (WebCore::ContentSecurityPolicy::allowImageFromSource):
2146 (WebCore::ContentSecurityPolicy::allowStyleFromSource):
2147 (WebCore::ContentSecurityPolicy::allowFontFromSource):
2148 (WebCore::ContentSecurityPolicy::addDirective):
2149 * page/ContentSecurityPolicy.h:
2151 2011-04-07 David Levin <levin@chromium.org>
2153 Reviewed by Darin Adler.
2155 Make IconSnapshot and PageURLRecord member variables private.
2156 https://bugs.webkit.org/show_bug.cgi?id=58080
2158 No change in functionality so no new tests.
2160 * loader/icon/IconDatabase.cpp:
2161 (WebCore::IconDatabase::writeToDatabase): Changed to used the accessor functions.
2162 (WebCore::IconDatabase::writeIconSnapshotToSQLDatabase): Ditto.
2163 * loader/icon/IconRecord.h:
2164 (WebCore::IconSnapshot::IconSnapshot): Changed to use the new member variable names.
2165 (WebCore::IconSnapshot::iconURL): Expose the property.
2166 (WebCore::IconSnapshot::timestamp): Ditto.
2167 (WebCore::IconSnapshot::data): Ditto.
2168 * loader/icon/PageURLRecord.h:
2169 (WebCore::PageURLSnapshot::PageURLSnapshot): Changed to use the new member variable names.
2170 (WebCore::PageURLSnapshot::pageURL): Expose the property.
2171 (WebCore::PageURLSnapshot::iconURL): Ditto.
2173 2011-04-07 Dan Bernstein <mitz@apple.com>
2177 * platform/graphics/cairo/GraphicsContextCairo.cpp:
2178 (WebCore::GraphicsContext::roundToDevicePixels):
2180 2011-04-07 Eric Seidel <eric@webkit.org>
2182 Reviewed by Adam Barth.
2184 Add stub support for generating Gtk build system from gyp
2185 https://bugs.webkit.org/show_bug.cgi?id=58086
2187 This does not produce a buildable WebCore, but it
2188 does allow running gyp/configure --port=gtk and having
2189 it generate a gtk.Makefile which we can use for testing
2190 the rest of the plumbing.
2192 * gyp/gtk.gyp: Added.
2194 2011-04-07 David Hyatt <hyatt@apple.com>
2196 Reviewed by Dan Bernstein.
2198 https://bugs.webkit.org/show_bug.cgi?id=57736
2200 Crash on openstreetmap.org while using the map. Fix a bad interaction between the positioned movement layout
2201 optimization and the simplified layout optimization that could lead to blocks remaining marked as dirty when
2202 layout finished. This would eventually lead to an inability to properly determine the correct layout root and
2203 would cause a deleted root to be used later on.
2205 Added fast/block/positioning/complex-positioned-movement.html.
2207 * page/FrameView.cpp:
2208 (WebCore::FrameView::scheduleRelayoutOfSubtree):
2209 Add asserts to catch cases in the future where a layout root is set that has a dirty containing block.
2211 * rendering/RenderBlock.cpp:
2212 (WebCore::RenderBlock::simplifiedLayout):
2213 Change simplified layout so that the positioned movement optimization no longer clears the other layout
2214 flags. This will ensure that we still lay out our descendants if they need it.
2216 (WebCore::RenderBlock::layoutPositionedObjects):
2217 Changed to clear our layout flags now if the positioned movement is successful, since tryLayoutDoingPositionedMovementOnly
2218 no longer does the clear.
2220 * rendering/RenderBox.h:
2221 (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly):
2222 tryLayoutDoingPositionedMovementOnly now returns a boolean indicating success or failure. On success it no longer
2223 does setNeedsLayout(false), but instead will let the caller take care of it. This way the caller can still look at
2224 the other flags in case other kinds of layout are still needed.
2226 * rendering/RenderObject.h:
2227 (WebCore::RenderObject::setNeedsPositionedMovementLayout):
2228 (WebCore::RenderObject::setNeedsSimplifiedNormalFlowLayout):
2229 Changed these methods to only set their respective flags and not to try to be clever about avoiding propagation.
2231 2011-04-07 Andrew Scherkus <scherkus@chromium.org>
2233 Revert ENABLE_TRACK patch due to compile failures.
2236 * Configurations/FeatureDefines.xcconfig:
2237 * DerivedSources.make:
2240 * WebCore.xcodeproj/project.pbxproj:
2242 * html/HTMLAttributeNames.in:
2243 * html/HTMLTagNames.in:
2244 * html/HTMLTrackElement.cpp: Removed.
2245 * html/HTMLTrackElement.h: Removed.
2246 * html/HTMLTrackElement.idl: Removed.
2248 2011-04-07 Dan Bernstein <mitz@apple.com>
2250 Reviewed by Simon Fraser.
2252 <rdar://problem/9018212> Underline thickness is not uniform under non-integral scale factor
2253 https://bugs.webkit.org/show_bug.cgi?id=58083
2255 Test: fast/text/decorations-transformed.html
2257 * platform/graphics/GraphicsContext.h: Added a RoundingMode enum with two values. RoundAllSides
2258 is the existing rounding mode, where each side of the rectangle snaps to the nearest pixel
2259 gridline. RoundOriginAndDimensions snaps the origin to the nearest pixel gridpoint and rounds
2260 the width and the height. In this new mode, translating a rectangle in user space never changes
2261 its dimensions in device pixels.
2262 * platform/graphics/cg/GraphicsContextCG.cpp:
2263 (WebCore::GraphicsContext::roundToDevicePixels): Implemented RoundOriginAndDimensions.
2264 (WebCore::GraphicsContext::drawLineForText): Use RoundOriginAndDimensions, thus ensuring that
2265 all underlines have the same thickness in device pixels.
2266 * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
2267 (WebCore::GraphicsContext::roundToDevicePixels): Added RoundingMode parameter, but did not implement it.
2268 * platform/graphics/qt/GraphicsContextQt.cpp:
2269 (WebCore::GraphicsContext::roundToDevicePixels): Ditto.
2270 * platform/graphics/skia/GraphicsContextSkia.cpp:
2271 (WebCore::GraphicsContext::roundToDevicePixels): Ditto.
2272 * platform/graphics/wince/GraphicsContextWinCE.cpp:
2273 (WebCore::GraphicsContext::roundToDevicePixels): Ditto.
2274 * platform/graphics/wx/GraphicsContextWx.cpp:
2275 (WebCore::GraphicsContext::roundToDevicePixels): Ditto.
2276 * rendering/InlineTextBox.cpp:
2277 (WebCore::InlineTextBox::paintDecoration):
2279 2011-04-06 Vitaly Repeshko <vitalyr@chromium.org>
2281 Reviewed by Nate Chapin.
2283 [V8] Remove custom DOMImplementation getter on Document.
2284 https://bugs.webkit.org/show_bug.cgi?id=57991
2286 The custom getter is no longer required because DOMImplementation
2287 objects are now created per document.
2289 Test: fast/dom/DOMImplementation/implementation-identity.html
2291 * bindings/scripts/CodeGeneratorV8.pm:
2292 * bindings/v8/custom/V8DocumentCustom.cpp:
2295 2011-04-07 Sergey Glazunov <serg.glazunov@gmail.com>
2297 Reviewed by Dimitri Glazkov.
2299 setHasID() is only called for styled elements
2300 https://bugs.webkit.org/show_bug.cgi?id=57267
2302 Test: fast/dom/non-styled-element-id-crash.html
2305 (WebCore::Element::attributeChanged):
2306 (WebCore::Element::idAttributeChanged):
2308 * dom/StyledElement.cpp:
2309 (WebCore::StyledElement::parseMappedAttribute):
2311 2011-04-07 Jer Noble <jer.noble@apple.com>
2313 Reviewed by Eric Carlson.
2315 HTMLVideoElement::webkitEnterFullscreen does not use new Full Screen API when available.
2316 https://bugs.webkit.org/show_bug.cgi?id=58070
2318 Make the HTMLMediaElement full screen functions call into the new Full Screen API when
2319 FULLSCREEN_API is enabled.
2321 * html/HTMLMediaElement.cpp:
2322 (WebCore::HTMLMediaElement::enterFullscreen):
2323 (WebCore::HTMLMediaElement::exitFullscreen):
2325 2011-04-07 Adam Barth <abarth@webkit.org>
2327 Reviewed by Eric Seidel.
2329 Implement CSP's options directive
2330 https://bugs.webkit.org/show_bug.cgi?id=58014
2332 This patch contains the full options parser, but we only have enough of
2333 CSP implemented to see the effects of disable-xss-protection. Will
2334 need to do some more work before we can see eval-script in action.
2336 Tests: http/tests/security/contentSecurityPolicy/inline-script-allowed.html
2337 http/tests/security/contentSecurityPolicy/inline-script-blocked-goofy.html
2339 * page/ContentSecurityPolicy.cpp:
2340 (WebCore::CSPOptions::CSPOptions):
2341 (WebCore::CSPOptions::disableXSSProtection):
2342 (WebCore::CSPOptions::evalScript):
2343 (WebCore::CSPOptions::parse):
2344 (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
2345 (WebCore::ContentSecurityPolicy::allowInlineEventHandlers):
2346 (WebCore::ContentSecurityPolicy::allowInlineScript):
2347 (WebCore::ContentSecurityPolicy::addDirective):
2348 * page/ContentSecurityPolicy.h:
2350 2011-04-07 Alexey Proskuryakov <ap@apple.com>
2352 Reviewed by Anders Carlsson.
2354 REGRESSION (WebKit2): Reverse conversion doesn't work in Kotoeri
2355 https://bugs.webkit.org/show_bug.cgi?id=58066
2356 <rdar://problem/8965302>
2358 * platform/mac/HTMLConverter.h:
2359 * platform/mac/HTMLConverter.mm: (+[WebHTMLConverter editingAttributedStringFromRange:]):
2360 Changed editingAttributedStringFromRange: to use WebCore::Range instead of DOMRange, since
2361 it's now used in WebKit2.
2363 2011-04-07 Andy Estes <aestes@apple.com>
2365 Reviewed by Darin Adler.
2367 REGRESSION (r64712): Microsoft Outlook 2011: original message contents
2368 not included when replying to an email.
2369 https://bugs.webkit.org/show_bug.cgi?id=57794
2372 * loader/FrameLoader.cpp:
2373 (WebCore::FrameLoader::finishedParsing): Call Frame::injectUserScripts()
2374 before checking if the FrameLoader is parsing the initial empty document.
2375 This allows user scripts to be injected at the end of document parsing
2376 (if the setting is enabled).
2378 (WebCore::Frame::injectUserScripts): Do not inject scripts if this
2379 feature is disabled on the initial empty document.
2380 * page/Settings.cpp:
2381 (WebCore::Settings::Settings):
2382 * page/Settings.h: Add a setting for injecting user scripts into the
2383 initial empty document (defaults to false).
2384 (WebCore::Settings::setInjectUserScriptsInInitialEmptyDocument):
2385 (WebCore::Settings::injectUserScriptsInInitialEmptyDocument):
2386 * platform/mac/RuntimeApplicationChecks.h:
2387 * platform/mac/RuntimeApplicationChecks.mm:
2388 (WebCore::applicationIsMicrosoftOutlook): Check if the embedding
2389 application is Microsoft Outlook.
2391 2011-04-06 Jer Noble <jer.noble@apple.com>
2393 Reviewed by Maciej Stachowiak.
2395 AVF: MediaPlayerPrivateAVFoundation never reaches playable state.
2396 https://bugs.webkit.org/show_bug.cgi?id=57962
2398 Add support for a new AVPlayerItem API which will notify clients when their
2399 seek completes. This requires a new Notification type to be passed to the main
2400 thread in MediaPlayerPrivateAVFoundation.
2402 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2403 (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted): Added.
2404 (WebCore::MediaPlayerPrivateAVFoundation::scheduleMainThreadNotification): Added two new
2405 overloaded functions which take a Notification; and a Notification::Type and boolean.
2406 (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification): Support new SeekCompleted
2408 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
2409 (WebCore::MediaPlayerPrivateAVFoundation::Notification::Notification): Added one new constructor.
2410 (WebCore::MediaPlayerPrivateAVFoundation::Notification::finished): Added ivar and accessor.
2411 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
2412 (WebCore::MediaPlayerPrivateAVFoundationObjC::seekToTime): Call new AVPlayerItem API.
2413 (-[WebCoreAVFMovieObserver seekCompleted:]): Added.
2415 2011-04-07 Nancy Piedra <nancy.piedra@nokia.com>
2417 Reviewed by Eric Carlson.
2419 Parse quotes from content type parameters
2420 https://bugs.webkit.org/show_bug.cgi?id=53275
2422 This functionality is tested in video-can-play-type.html layout test
2423 where I've added codecs parameter with good and bad formatting.
2425 * platform/ContentType.cpp:
2426 (WebCore::ContentType::parameter):
2428 2011-04-07 Pavel Feldman <pfeldman@google.com>
2430 Reviewed by Yury Semikhatsky.
2432 Web Inspector: remove "enabled" from the setBreakpoint protocol.
2433 https://bugs.webkit.org/show_bug.cgi?id=58047
2435 * bindings/js/ScriptDebugServer.cpp:
2436 (WebCore::ScriptDebugServer::hasBreakpoint):
2437 * bindings/v8/DebuggerScript.js:
2439 * bindings/v8/ScriptDebugServer.cpp:
2440 (WebCore::ScriptDebugServer::setBreakpoint):
2441 * inspector/Inspector.json:
2442 * inspector/InspectorDebuggerAgent.cpp:
2443 (WebCore::buildObjectForBreakpointCookie):
2444 (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
2445 (WebCore::InspectorDebuggerAgent::setBreakpoint):
2446 (WebCore::InspectorDebuggerAgent::continueToLocation):
2447 (WebCore::InspectorDebuggerAgent::didParseSource):
2448 * inspector/InspectorDebuggerAgent.h:
2449 * inspector/ScriptBreakpoint.h:
2450 (WebCore::ScriptBreakpoint::ScriptBreakpoint):
2451 * inspector/front-end/DebuggerModel.js:
2452 (WebInspector.DebuggerModel.prototype.setBreakpoint):
2453 (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
2454 * inspector/front-end/DebuggerPresentationModel.js:
2455 (WebInspector.DebuggerPresentationModel):
2456 (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
2457 (WebInspector.DebuggerPresentationModel.prototype._updateBreakpointsAfterLiveEdit):
2458 (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint.callback):
2459 (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint):
2460 (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger):
2461 (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger.didRequestSourceMapping):
2462 (WebInspector.DebuggerPresentationModel.prototype._removeBreakpointFromDebugger):
2463 (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled.afterUpdate):
2464 (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled):
2465 (WebInspector.DebuggerPresentationModel.prototype.updateBreakpoint):
2466 (WebInspector.DebuggerPresentationModel.prototype.removeBreakpoint):
2467 (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded.didRequestSourceMapping):
2468 (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
2469 (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
2470 (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved):
2471 (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpointsFromSettings):
2472 (WebInspector.DebuggerPresentationModel.prototype._saveBreakpoints):
2473 (WebInspector.DebuggerPresentationModel.prototype._reset):
2474 (WebInspector.PresentationBreakpoint):
2476 2011-04-07 Dan Bernstein <mitz@apple.com>
2478 Reviewed by Adam Roben.
2480 Removed a redundant line of code.
2482 * rendering/RenderInline.cpp:
2483 (WebCore::RenderInline::updateAlwaysCreateLineBoxes): No need to compare line gap values, as
2484 this is covered by the earlier hasIdenticalAscentDescentAndLineGap() check.
2486 2011-04-07 Liang Qi <liang.qi@nokia.com>
2488 Reviewed by Laszlo Gombos.
2490 [Qt][Symbian] Enable webkit build with GCCE on Symbian.
2491 https://bugs.webkit.org/show_bug.cgi?id=57841
2493 * WebCore.pri: Thanks for Norbert Leser <norbert.leser@nokia.com> who checked RVCT part.
2494 --rw-base value in QMAKE_LFLAGS.ARMCC and -Tdata value in QMAKE_LFLAGS.GCCE are updated
2495 to 0x1000000 together. They need to be updated in the future when WebKit grows.
2497 2011-04-06 Pavel Feldman <pfeldman@google.com>
2499 Reviewed by Yury Semikhatsky.
2501 Web Inspector: get rid of Breakpoint.js.
2502 https://bugs.webkit.org/show_bug.cgi?id=57949
2505 * WebCore.vcproj/WebCore.vcproj:
2506 * inspector/front-end/Breakpoint.js: Removed.
2507 * inspector/front-end/BreakpointsSidebarPane.js:
2508 (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint):
2509 (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.updateBreakpoint.didLoadSnippet):
2510 (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.updateBreakpoint):
2511 (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._compareBreakpoints):
2512 * inspector/front-end/DebuggerModel.js:
2513 (WebInspector.DebuggerModel):
2514 (WebInspector.DebuggerModel.prototype._debuggerWasDisabled):
2515 (WebInspector.DebuggerModel.prototype.setBreakpoint.didSetBreakpoint):
2516 (WebInspector.DebuggerModel.prototype.setBreakpoint):
2517 (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
2518 (WebInspector.DebuggerModel.prototype.removeBreakpoint):
2519 (WebInspector.DebuggerModel.prototype._breakpointResolved):
2520 (WebInspector.DebuggerModel.prototype.reset):
2521 * inspector/front-end/DebuggerPresentationModel.js:
2522 (WebInspector.DebuggerPresentationModel):
2523 (WebInspector.DebuggerPresentationModel.prototype._refreshBreakpoints):
2524 (WebInspector.DebuggerPresentationModel.prototype._updateBreakpointsAfterLiveEdit):
2525 (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
2526 (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint.didSetBreakpoint):
2527 (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint):
2528 (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled):
2529 (WebInspector.DebuggerPresentationModel.prototype.updateBreakpoint):
2530 (WebInspector.DebuggerPresentationModel.prototype.removeBreakpoint):
2531 (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded.didRequestSourceMapping):
2532 (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
2533 (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
2534 (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved):
2535 (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
2536 (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoint):
2537 (WebInspector.DebuggerPresentationModel.prototype._saveBreakpoints):
2538 (WebInspector.DebuggerPresentationModel.prototype._reset):
2539 (WebInspector.PresentationBreakpoint):
2540 (WebInspector.PresentationBreakpoint.prototype.get sourceFile):
2541 (WebInspector.PresentationBreakpoint.prototype.get url):
2542 (WebInspector.PresentationBreakpoint.prototype.get resolved):
2543 (WebInspector.PresentationBreakpoint.prototype.loadSnippet):
2544 * inspector/front-end/ResourceTreeModel.js:
2545 (WebInspector.ResourceTreeModel):
2546 (WebInspector.ResourceTreeModel.prototype._onResourceStarted):
2547 (WebInspector.ResourceTreeModel.prototype._addResourceToFrame):
2548 * inspector/front-end/ScriptsPanel.js:
2549 (WebInspector.ScriptsPanel):
2550 (WebInspector.ScriptsPanel.prototype._breakpointUpdated):
2551 (WebInspector.ScriptsPanel.prototype.reset):
2552 * inspector/front-end/WebKit.qrc:
2553 * inspector/front-end/inspector.html:
2555 2011-04-07 Yury Semikhatsky <yurys@chromium.org>
2557 Reviewed by Pavel Feldman.
2559 Web Inspector: console messages names should adhere to the common naming style
2560 https://bugs.webkit.org/show_bug.cgi?id=58042
2562 * inspector/ConsoleMessage.cpp:
2563 (WebCore::ConsoleMessage::addToFrontend):
2564 (WebCore::ConsoleMessage::updateRepeatCountInConsole):
2565 * inspector/Inspector.json:
2566 * inspector/InspectorConsoleAgent.cpp:
2567 (WebCore::InspectorConsoleAgent::clearConsoleMessages):
2568 * inspector/front-end/ConsoleView.js:
2569 (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messageAdded):
2570 (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messageRepeatCountUpdated):
2571 (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messagesCleared):
2572 (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher):
2574 2011-04-06 Ilya Tikhonovsky <loislo@chromium.org>
2576 Reviewed by Yury Semikhatsky.
2578 Web Inspector: migrate Inspector protocol messages format to JSON-RPC.
2579 https://bugs.webkit.org/show_bug.cgi?id=57957
2581 There is not a significant difference between inspector messages spec and and JSON-RPC 2.0 messages spec.
2582 Also JSON-RPC has a pretty clear specification for error descriptions which we haven't.
2583 It was decided that we will use it.
2585 the list of renames:
2587 2) domain + '.' + event => method // for events
2588 3) domain + '.' + command => method // for requests
2589 4) requestId => id // for responses
2590 5) arguments => params // for requests
2591 6) data => params // for events
2592 7) body => result // for responses
2594 protocolErrors and error properties will be converted to JSON-RPC error format.
2595 The order of properties in messages also will be adjusted.
2596 The only thing that looks unnecessary is jsonrpc property.
2598 * inspector/CodeGeneratorInspector.pm:
2600 2011-04-07 Ryosuke Niwa <rniwa@webkit.org>
2602 Reviewed by Eric Seidel.
2604 Add functions to update left and right offsets to LineOffsets
2605 https://bugs.webkit.org/show_bug.cgi?id=58028
2607 Added update() and shrinkWidthForNewFloatIfNeeded(FloatingObject*) to LineOffsets,
2608 which are used to update m_left and m_right. Also added m_block and m_isFirstLine
2609 member variables to LineOffsets so that users of LineOffsets don't have to pass them around.
2611 * rendering/RenderBlock.h:
2612 * rendering/RenderBlockLineLayout.cpp:
2613 (WebCore::RenderBlock::skipLeadingWhitespace): No longer passes firstLine to positionNewFloatOnLine.
2614 (WebCore::LineOffsets::LineOffsets): Takes RenderBlock* and isFirstLine instead of left and right offsets.
2615 (WebCore::LineOffsets::update): Extracted from findNextLineBreak and positionNewFloatOnLine.
2616 (WebCore::LineOffsets::shrinkWidthForNewFloatIfNeeded): Extracted from positionNewFloatOnLine.
2617 (WebCore::RenderBlock::findNextLineBreak): Calls skipLeadingWhitespace and positionNewFloatOnLine.
2618 (WebCore::RenderBlock::positionNewFloatOnLine): Calls shrinkWidthForNewFloatIfNeeded and update and
2619 no longer passes firstLine around.
2621 2011-04-06 Pavel Feldman <pfeldman@google.com>
2623 Reviewed by Yury Semikhatsky.
2625 Web Inspector: migrate debugger domain to the unified breakpoint location notion.
2626 https://bugs.webkit.org/show_bug.cgi?id=57928
2628 * inspector/Inspector.json:
2629 * inspector/InspectorDebuggerAgent.cpp:
2630 (WebCore::buildObjectForBreakpointCookie):
2631 (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
2632 (WebCore::InspectorDebuggerAgent::setBreakpoint):
2633 (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
2634 (WebCore::InspectorDebuggerAgent::didParseSource):
2635 * inspector/InspectorDebuggerAgent.h:
2636 * inspector/front-end/Breakpoint.js:
2637 (WebInspector.Breakpoint):
2638 * inspector/front-end/DebuggerModel.js:
2639 (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
2640 (WebInspector.DebuggerModel.prototype._breakpointResolved):
2642 2011-04-07 Andreas Kling <andreas.kling@nokia.com>
2644 Reviewed by Benjamin Poulain.
2646 [Qt] Mask the QStyle::State_Horizontal hint for vertical scrollbars.
2648 When initializing a QStyleOptionSlider from a widget, the State_Horizontal
2649 hint may get set depending on how that widget is laid out in its parent.
2650 If this happens when drawing a vertical scrollbar, the hint is never
2651 cleared and we end up painting a vertical scrollbar with horizontal arrows.
2653 Covered by pixel tests which should no longer paint silly scrollbars.
2655 * platform/qt/ScrollbarThemeQt.cpp:
2656 (WebCore::styleOptionSlider):
2658 2011-04-07 Adam Barth <abarth@webkit.org>
2660 Reviewed by Eric Seidel.
2662 script-src should block inline script
2663 https://bugs.webkit.org/show_bug.cgi?id=58012
2665 Block inline scripts at the ScriptElement layer. This should catch
2666 exactly the scripts we want to catch.
2668 Test: http/tests/security/contentSecurityPolicy/inline-script-blocked.html
2671 (WebCore::Document::processHttpEquiv):
2672 - This patch also adds the ability to supply a CSP policy via a
2673 <meta> tag. We'll update the name of the header once we've
2674 finished implementing the spec.
2675 * dom/ScriptElement.cpp:
2676 (WebCore::ScriptElement::executeScript):
2677 * page/ContentSecurityPolicy.cpp:
2678 (WebCore::ContentSecurityPolicy::allowInlineScript):
2679 * page/ContentSecurityPolicy.h:
2681 2011-04-07 Alice Boxhall <aboxhall@chromium.org>
2683 Reviewed by Ryosuke Niwa.
2685 Move the MouseEventWithHitTestResults::targetNode() method on to EventHandler.
2686 https://bugs.webkit.org/show_bug.cgi?id=57921
2688 Moves the MouseEventWithHitTestResults::targetNode() method on to EventHandler, so
2689 that the same logic can be used for a HitTestResult.
2691 No visible changes, just cleanup, so no tests.
2693 * page/EventHandler.cpp:
2694 (WebCore::EventHandler::selectClosestWordFromMouseEvent):
2695 (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent):
2696 (WebCore::EventHandler::handleMousePressEventTripleClick):
2697 (WebCore::EventHandler::handleMousePressEventSingleClick):
2698 (WebCore::EventHandler::handleMousePressEvent):
2699 (WebCore::EventHandler::handleMouseDraggedEvent):
2700 (WebCore::EventHandler::handleMouseReleaseEvent):
2701 (WebCore::EventHandler::subframeForHitTestResult):
2702 Made public static member, so that it can access targetNode(), and be accessed by
2703 webkitwebview in gtk.
2704 (WebCore::EventHandler::selectCursor):
2705 (WebCore::EventHandler::targetNode):
2706 (WebCore::EventHandler::handleMouseDoubleClickEvent):
2707 (WebCore::EventHandler::handleMouseMoveEvent):
2708 (WebCore::EventHandler::updateDragAndDrop):
2709 (WebCore::EventHandler::sendContextMenuEvent):
2710 * page/EventHandler.h:
2711 * page/MouseEventWithHitTestResults.cpp:
2712 (WebCore::MouseEventWithHitTestResults::MouseEventWithHitTestResults):
2713 * page/MouseEventWithHitTestResults.h:
2714 * page/android/EventHandlerAndroid.cpp:
2715 (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
2716 * page/brew/EventHandlerBrew.cpp:
2717 (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
2718 * page/chromium/EventHandlerChromium.cpp:
2719 (WebCore::EventHandler::passMousePressEventToSubframe):
2720 (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
2721 * page/efl/EventHandlerEfl.cpp:
2722 (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
2723 * page/gtk/EventHandlerGtk.cpp:
2724 (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
2725 * page/haiku/EventHandlerHaiku.cpp:
2726 (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
2727 * page/mac/EventHandlerMac.mm:
2728 (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
2729 (WebCore::EventHandler::passSubframeEventToSubframe):
2730 * page/wx/EventHandlerWx.cpp:
2731 (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
2733 2011-04-07 Pavel Podivilov <podivilov@chromium.org>
2735 Reviewed by Pavel Feldman.
2737 Web Inspector: build mapping for formatted scripts based on keywords positions.
2738 https://bugs.webkit.org/show_bug.cgi?id=57936
2740 Mapping based on [\$\.\w]+ was not accurate because string literals representation
2741 may be different in original and formatted scripts.
2743 * inspector/front-end/ScriptFormatterWorker.js:
2744 (buildMapping.regexp.b):
2747 2011-04-07 Kent Tamura <tkent@chromium.org>
2749 Reviewed by Dimitri Glazkov.
2751 Spinbuttons become unclickable if right padding is large.
2752 https://bugs.webkit.org/show_bug.cgi?id=56298
2754 An inner-spin-button is put on the right border and ignores right
2755 padding in RenderTextControlSingleLine::layout(), but forwardEvent()
2756 checks if a point is in an area just right of an internal text block.
2757 This inconsistency caused a bug that an inner-spin-button with large
2758 padding didn't receive mouse events.
2760 To fix this bug, we render spin buttons as layers, and remove manual
2761 event forwarding code.
2763 Test: fast/forms/input-number-large-padding.html
2765 * css/html.css: Add "position:relative" to make a spin-button a layer.
2766 (input::-webkit-inner-spin-button):
2767 (input::-webkit-outer-spin-button):
2768 * rendering/RenderTextControlSingleLine.cpp:
2769 (WebCore::RenderTextControlSingleLine::forwardEvent):
2770 Remove manual event forwarding code.
2772 2011-04-06 Adam Barth <abarth@webkit.org>
2774 Reviewed by Eric Seidel.
2776 CSP object-src should block plugin loads
2777 https://bugs.webkit.org/show_bug.cgi?id=57283
2779 This change is pretty straight-forward. It's slighly unclear to me
2780 whether this patch is correct w.r.t. the code in DocumentWriter. I've
2781 added a FIXME comment, and I'll investigate that case more in the future.
2783 Test: http/tests/security/contentSecurityPolicy/object-src-none.html
2785 * loader/DocumentWriter.cpp:
2786 (WebCore::DocumentWriter::begin):
2787 * loader/SubframeLoader.cpp:
2788 (WebCore::SubframeLoader::requestPlugin):
2789 * page/ContentSecurityPolicy.cpp:
2790 (WebCore::ContentSecurityPolicy::allowObjectFromSource):
2791 (WebCore::ContentSecurityPolicy::addDirective):
2792 * page/ContentSecurityPolicy.h:
2794 2011-04-06 Beth Dakin <bdakin@apple.com>
2796 Reviewed by Dan Bernstein.
2798 https://bugs.webkit.org/show_bug.cgi?id=58009
2799 Frame::scalePage() results in visual artifacts with scale factors less than 1
2801 <rdar://problem/8683230>
2803 Fall into the case where we fill with a background base color when there is a page
2804 scale factor that is less than 1.
2805 * rendering/RenderView.cpp:
2806 (WebCore::RenderView::paintBoxDecorations):
2808 2011-04-06 Jer Noble <jer.noble@apple.com>
2810 Reviewed by Darin Adler.
2812 AVF: MediaPlayerPrivateAVFoundationObjC should not use -[AVPlayerItem isPlaybackBufferEmpty]
2813 https://bugs.webkit.org/show_bug.cgi?id=57982
2815 Query our cached loaded time array instead of asking AVPlayerItem if its buffer is empty.
2817 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
2818 (WebCore::MediaPlayerPrivateAVFoundationObjC::playerItemStatus):
2820 2011-04-06 Jer Noble <jer.noble@apple.com>
2822 Reviewed by Eric Carlson.
2824 MediaPlayerPrivateAVFoundation does not change rate due to setRate().
2825 https://bugs.webkit.org/show_bug.cgi?id=57919
2827 Test: media/video-set-rate-from-pause.html
2829 The base class of MediaPlayerPrivateAVFoundation does not actually change the rate
2830 of the media; instead a subclass must do that work. So when setRate() is called,
2831 inform a subclass through a new pure virtual updateRate() function that there's
2834 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2835 (WebCore::MediaPlayerPrivateAVFoundation::setRate): Call updateRate()
2836 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
2837 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
2838 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
2839 (WebCore::MediaPlayerPrivateAVFoundationObjC::updateRate): Added. Set the requested rate.
2841 2011-04-06 Dai Mikurube <dmikurube@chromium.org>
2843 Reviewed by David Levin.
2845 Add QUOTA build flag for unified quota API
2846 https://bugs.webkit.org/show_bug.cgi?id=57918
2848 * Configurations/FeatureDefines.xcconfig: Added QUOTA build flag
2849 * GNUmakefile.am: Added QUOTA build flag
2850 * WebCore.pri: Added QUOTA build flag
2852 2011-04-06 Stephanie Lewis <slewis@apple.com>
2854 Reviewed by Darin Adler.
2856 https://bugs.webkit.org/show_bug.cgi?id=57997
2857 <rdar://problem/9187856> REGRESSION(r75555): ~5-7 MB increase in memory between iBench runs
2858 Navigating away from a Scrolled page which queues a scroll event that is never dispatched.
2859 Cancel all enqueued events when detaching the Document the events cannot keep the Document
2862 No change in functionality so no new tests.
2865 (WebCore::Document::detach):
2866 * dom/EventQueue.cpp:
2867 (WebCore::EventQueue::cancelQueuedEvents):
2870 2011-04-06 Dan Bernstein <mitz@apple.com>
2872 Reviewed by Darin Adler.
2874 <rdar://problem/9084761> REGRESSION (r73993): Default Arabic line spacing has gotten very loose when the specified font is not Arabic
2875 https://bugs.webkit.org/show_bug.cgi?id=58002
2877 * platform/graphics/mac/SimpleFontDataMac.mm:
2878 (WebCore::SimpleFontData::platformInit): The version of Geeza Pro in Snow Leopard
2879 does not require the vertical metrics tweaks that were needed in Leopard. That the
2880 tweaks were being applied went mostly unnoticed until r73993, because until then it
2881 only affected cases where Geeza Pro was specified, not when it occurred as a fallback
2884 2011-04-06 Roland Steiner <rolandsteiner@chromium.org>
2886 Reviewed by Dimitri Glazkov.
2888 Bug 57994 - Move guardRef functionality back to Document
2889 https://bugs.webkit.org/show_bug.cgi?id=57994
2891 Move the relevant code parts from TreeScope back into Document.
2893 No new tests. (no new functionality)
2896 (WebCore::Document::removedLastRef):
2898 * dom/TreeScope.cpp:
2899 (WebCore::TreeScope::destroyTreeScopeData):
2902 2011-04-06 Ian Henderson <ianh@apple.com>
2904 Reviewed by Simon Fraser, Antti Koivisto.
2906 Fast path for parsing simple CSS values
2907 https://bugs.webkit.org/show_bug.cgi?id=57964
2909 Add functions to parse simple color or dimension values, skipping the
2910 overhead of full CSS parsing.
2912 Change parseValue to a static method to avoid unnecessary allocation
2913 of a CSSParser in the fast case.
2915 * css/CSSMutableStyleDeclaration.cpp:
2916 (WebCore::CSSMutableStyleDeclaration::setProperty):
2917 Changed to use the new, static parseValue method.
2918 * css/CSSParser.cpp:
2919 (WebCore::isColorPropertyID):
2920 (WebCore::parseColorValue):
2921 Parses any color accepted by the existing parseColor() static method.
2922 We must handle color identifiers separately, since parseColor() will
2923 change 'red' into 'rgb(255, 0, 0)'.
2924 (WebCore::isSimpleLengthPropertyID):
2925 (WebCore::parseSimpleLengthValue):
2926 Parses a value of the form 'NNpx', 'NN%', or 'NN' (when strict is
2927 false, or 'NN' is '0'). Returns false to fall back to the slow path.
2928 (WebCore::CSSParser::parseValue):
2930 * css/WebKitCSSMatrix.cpp:
2931 (WebCore::WebKitCSSMatrix::setMatrixValue):
2932 Changed to use the new, static parseValue method.
2934 2011-04-06 Kevin Ollivier <kevino@theolliviers.com>
2936 Reviewed by Darin Adler.
2938 Make sure JS_EXPORT_PRIVATE is an empty define when we aren't using the export macros.
2940 https://bugs.webkit.org/show_bug.cgi?id=27551
2944 2011-04-06 Simon Fraser <simon.fraser@apple.com>
2946 Reviewed by Antti Koivisto.
2948 Some minor style resolution optimizations
2949 https://bugs.webkit.org/show_bug.cgi?id=57996
2951 A couple of minor optimizations to style-related code.
2953 * bindings/js/JSCSSStyleDeclarationCustom.cpp:
2954 (WebCore::isCSSPropertyName):
2955 (WebCore::JSCSSStyleDeclaration::putDelegate):
2956 Avoid calling cssPropertyName() twice when setting style on an element.
2958 * css/CSSStyleSelector.cpp:
2959 (WebCore::useSVGZoomRules):
2960 (WebCore::CSSStyleSelector::applyProperty):
2961 Avoid calling isSVGElement() for every property, since only a two properties
2964 2011-04-06 Ian Henderson <ianh@apple.com>
2966 Reviewed by Antti Koivisto.
2968 Unnecessary string allocation in CSSStyleDeclaration::setProperty
2969 https://bugs.webkit.org/show_bug.cgi?id=57995
2971 Pass the bool representing the property's importance directly instead
2972 of constructing a string.
2974 * css/CSSStyleDeclaration.cpp:
2975 (WebCore::CSSStyleDeclaration::setProperty):
2977 2011-04-06 Leandro Gracia Gil <leandrogracia@chromium.org>
2979 Reviewed by Steve Block.
2981 Make the style of createFunctionOnlyCallback in V8 consistent with the JavaScriptCore version.
2982 https://bugs.webkit.org/show_bug.cgi?id=57963
2984 No new tests. LayoutTests/fast/dom/Geolocation/argument-types.html
2986 * bindings/v8/V8Utilities.h:
2987 (WebCore::createFunctionOnlyCallback):
2988 * bindings/v8/custom/V8GeolocationCustom.cpp:
2989 (WebCore::V8Geolocation::getCurrentPositionCallback):
2990 (WebCore::V8Geolocation::watchPositionCallback):
2992 2011-04-06 Brian Weinstein <bweinstein@apple.com>
2994 Reviewed by Adam Roben.
2996 WebKit2: Support Windows 7 Gestures
2997 https://bugs.webkit.org/show_bug.cgi?id=49824
2998 <rdar://problem/8689728>
3000 Move WindowTouch.h from WebKit/win, so it can be used in both WebKit and WebKit2.
3002 * WebCore.vcproj/WebCore.vcproj:
3003 * platform/win/WindowsTouch.h: Copied from WebKit/win/WindowsTouch.h.
3005 2011-04-06 Alexis Menard <alexis.menard@openbossa.org>
3007 Reviewed by Andreas Kling.
3009 [Qt] We should use USE(QT_MULTIMEDIA) rather than ENABLE(QT_MULTIMEDIA).
3010 https://bugs.webkit.org/show_bug.cgi?id=57974
3012 We should use USE(QT_MULTIMEDIA) rather than ENABLE(QT_MULTIMEDIA).
3014 No new tests needed, just a config flag rename.
3018 2011-04-06 Tyler Close <tjclose@chromium.org>
3020 Reviewed by Nate Chapin.
3022 run-bindings-tests reference files out of sync with CodeGenerator*.pm
3023 https://bugs.webkit.org/show_bug.cgi?id=57967
3025 * bindings/scripts/test/V8/V8TestCallback.cpp:
3027 2011-04-06 Asanka Herath <asanka@chromium.org>
3029 Reviewed by Darin Fisher.
3031 Add new TargetType: TargetIsFavicon
3033 https://bugs.webkit.org/show_bug.cgi?id=57659
3035 No new functionality added, so no additional tests.
3037 * platform/network/ResourceRequestBase.h:
3039 2011-04-06 David Hyatt <hyatt@apple.com>
3041 Reviewed by Simon Fraser.
3043 https://bugs.webkit.org/show_bug.cgi?id=57981
3045 Update the column count and width computation algorithm for CSS3 multi-column layout
3046 to match the revised pseudo-algorithm in the latest draft of the spec.
3048 * rendering/RenderBlock.cpp:
3049 (WebCore::RenderBlock::calcColumnWidth):
3051 2011-04-06 Ryosuke Niwa <rniwa@webkit.org>
3053 Reviewed by Eric Seidel.
3055 borderPaddingMarginStart and borderPaddingMarginEnd should take RenderInline
3056 https://bugs.webkit.org/show_bug.cgi?id=57965
3058 Changed the argument types of borderPaddingMarginStart and borderPaddingMarginEnd
3059 from RenderBoxModelObject to RenderInline since they call marginStart and marginEnd
3060 instead of marginStartForChild and marginEndForChild respectively.
3062 Calling these two functions on RenderInline is okay because writing-mode cannot differ
3063 from that of the containing block.
3065 * rendering/RenderBlockLineLayout.cpp:
3066 (WebCore::borderPaddingMarginStart):
3067 (WebCore::borderPaddingMarginEnd):
3068 (WebCore::inlineLogicalWidth):
3070 2011-04-06 Sheriff Bot <webkit.review.bot@gmail.com>
3072 Unreviewed, rolling out r83039.
3073 http://trac.webkit.org/changeset/83039
3074 https://bugs.webkit.org/show_bug.cgi?id=57978
3076 introduced a new regression in conjunction to
3077 ReplaceSelectionCommand (Requested by rniwa on #webkit).
3079 * editing/EditingStyle.cpp:
3080 (WebCore::EditingStyle::init):
3081 * editing/InsertParagraphSeparatorCommand.cpp:
3082 (WebCore::InsertParagraphSeparatorCommand::doApply):
3084 2011-04-06 Naoki Takano <takano.naoki@gmail.com>
3086 Reviewed by David Levin.
3088 Webkit ignores PgUp/PgDown/Home/End in SELECT tag objects
3089 https://bugs.webkit.org/show_bug.cgi?id=27658
3091 Test: fast/events/select-element.html
3093 * dom/SelectElement.cpp:
3094 (WebCore::nextValidIndex): Moved from elsewhere in the file to be used by other routines.
3095 (WebCore::nextSelectableListIndexPageAway): Returns a selectable index one page away from the given index.
3096 (WebCore::nextSelectableListIndex): Implemented with nextValidIndex.
3097 And converted to a normal static function from a private function of SelectElement.
3098 (WebCore::previousSelectableListIndex): Implemented with nextValidIndex.
3099 And converted to a normal static function from a private function of SelectElement.
3100 (WebCore::firstSelectableListIndex): Returns the first selectable index.
3101 (WebCore::lastSelectableListIndex): Returns the last selectable index.
3102 (WebCore::SelectElement::menuListDefaultEventHandler): Converted from C cast to C++ cast.
3103 (WebCore::SelectElement::listBoxDefaultEventHandler): Adds support for PageUp/PageDown/Home/End with both single and multiple selection.
3105 * dom/SelectElement.h:
3106 (WebCore::SelectElement::): Remove nextSelectableListIndex() and previousSelectableListIndex().
3108 * rendering/RenderListBox.h: Makes RenderListBox::size public so that PageUp/PageDown behavior can use the actual list size rather than that specified in HTML.
3109 They can differ due to the minimum size imposed by RenderListBox.
3111 2011-04-06 David Hyatt <hyatt@apple.com>
3113 Reviewed by Dan Bernstein.
3115 https://bugs.webkit.org/show_bug.cgi?id=57975
3117 The "More..." link for line clamping no longer shows up in Safari RSS. Fix the isLink() check
3118 to just look at the style, so that it can find the InlineTextBox and not care that it's a child
3119 of the link element and not the line box for the link element itself (since that line box got
3122 * rendering/RenderFlexibleBox.cpp:
3123 (WebCore::RenderFlexibleBox::applyLineClamp):
3125 2011-04-06 Brady Eidson <beidson@apple.com>
3127 Reviewed by Anders Carlsson.
3129 https://bugs.webkit.org/show_bug.cgi?id=57973 and https://bugs.webkit.org/show_bug.cgi?id=57973
3130 WK2 icon database should be able to get a CGImage of a specific size
3132 * platform/graphics/BitmapImage.h:
3133 * platform/graphics/Image.h:
3134 (WebCore::Image::getFirstCGImageRefOfSize):
3136 * platform/graphics/cg/ImageCG.cpp:
3137 (WebCore::BitmapImage::getFirstCGImageRefOfSize): Walk the frames of the image until reaching the
3138 first frame of the requested size.
3140 2011-04-06 Malcolm MacLeod <malcolm.macleod@tshwanedje.com>
3142 Reviewed by Kevin Ollivier.
3144 [wx] Fix cursor handling so that we always call the chrome to set it.
3146 https://bugs.webkit.org/show_bug.cgi?id=57972
3148 * platform/wx/WidgetWx.cpp:
3149 (WebCore::Widget::setCursor):
3151 2011-04-06 David Hyatt <hyatt@apple.com>
3153 Reviewed by Dan Bernstein.
3155 https://bugs.webkit.org/show_bug.cgi?id=41445
3157 Visited links painting with black background. Make sure that if the visited style has
3158 the initial background color (transparent) set that we just use the unvisited color.
3160 Added fast/history/visited-link-background-color.html
3162 * rendering/style/RenderStyle.cpp:
3163 (WebCore::RenderStyle::visitedDependentColor):
3165 2011-04-06 Csaba Osztrogonác <ossy@webkit.org>
3167 Unreviewed Qt buildfix after r83079.
3171 2011-04-06 Dean Jackson <dino@apple.com>
3173 Reviewed by Chris Marrin.
3175 https://bugs.webkit.org/show_bug.cgi?id=56936
3176 Crash in ImplicitAnimation::~ImplicitAnimation
3178 Make sure the style and start time waiting lists
3179 are cleared in the CompositeAnimation destructor. This
3180 way, no running transitions can be left in a state
3181 where they are destroyed as the AnimationControllerPrivate
3184 * page/animation/CompositeAnimation.cpp:
3185 (WebCore::CompositeAnimation::~CompositeAnimation):
3187 2011-04-06 Robert Sesek <rsesek@chromium.org>
3189 Reviewed by Alexey Proskuryakov.
3191 Move code duplicated between the WebKit/mac and WebKit2 down to WebCore because Chromium will need it too
3192 https://bugs.webkit.org/show_bug.cgi?id=54969
3194 No change in behavior; no new tests.
3196 * editing/TextIterator.cpp:
3197 (WebCore::TextIterator::locationAndLengthFromRange): New method from duplicated code in WebKits
3198 * editing/TextIterator.h:
3200 (WebCore::Frame::rangeForPoint): New method from duplicated code in WebKits
3202 2011-04-06 Leandro Gracia Gil <leandrogracia@chromium.org>
3204 Reviewed by Steve Block.
3206 Factoring the creation of 'FunctionOnly' callbacks in JavaScriptCore.
3207 https://bugs.webkit.org/show_bug.cgi?id=57770
3209 Create a template from an existing functionality in JSGeolocationCustom.cpp
3210 to be used by the custom bindings of both Geolocation and the Media Stream API.
3211 V8 version of this bug: https://bugs.webkit.org/show_bug.cgi?id=57760
3213 No new tests. LayoutTests/fast/dom/Geolocation/argument-types.html
3215 * Android.jscbindings.mk:
3220 * WebCore.vcproj/WebCore.vcproj:
3221 * WebCore.xcodeproj/project.pbxproj:
3222 * bindings/js/CallbackFunction.cpp: Added.
3223 (WebCore::checkFunctionOnlyCallback):
3224 * bindings/js/CallbackFunction.h: Added.
3225 (WebCore::createFunctionOnlyCallback):
3226 * bindings/js/JSBindingsAllInOne.cpp:
3227 * bindings/js/JSGeolocationCustom.cpp:
3228 (WebCore::JSGeolocation::getCurrentPosition):
3229 (WebCore::JSGeolocation::watchPosition):
3231 2011-04-06 Alexis Menard <alexis.menard@openbossa.org>
3233 Reviewed by Andreas Kling.
3235 [Qt] Implement fullscreen playback for the GStreamer backend.
3236 https://bugs.webkit.org/show_bug.cgi?id=56826
3238 Implement support for fullscreen playback when building the
3239 Qt port with the GStreamer backend (DEFINES+=USE_GSTREAMER=1).
3240 The implementation is done in FullScreenVideoQt alongside with
3241 the Qt Multimedia support.
3243 No new tests because layout tests cover it. They are not yet activated
3244 but will be any time soon.
3246 * platform/graphics/gstreamer/PlatformVideoWindowPrivate.h:
3247 * platform/graphics/gstreamer/PlatformVideoWindowQt.cpp:
3248 (FullScreenVideoWindow::FullScreenVideoWindow):
3249 (FullScreenVideoWindow::setVideoElement):
3250 (FullScreenVideoWindow::closeEvent):
3251 (FullScreenVideoWindow::keyPressEvent):
3252 (FullScreenVideoWindow::event):
3253 (FullScreenVideoWindow::showFullScreen):
3254 (FullScreenVideoWindow::hideCursor):
3255 (FullScreenVideoWindow::showCursor):
3257 2011-04-06 Ryosuke Niwa <rniwa@webkit.org>
3259 Reviewed by Dimitri Glazkov.
3261 Bundle lineLeftOffset and lineRightOffset as a class
3262 https://bugs.webkit.org/show_bug.cgi?id=57851
3264 Added a new class LineOffsets that encapsulates lineLeftOffset and lineRightOffset.
3265 The patch makes clear that lineLeftOffset and lineRightOffset are never read individually
3266 and only the difference is used to compute the width.
3268 * rendering/RenderBlock.h:
3269 * rendering/RenderBlockLineLayout.cpp:
3270 (WebCore::RenderBlock::skipLeadingWhitespace): Takes LineOffsets instead of two integers.
3271 (WebCore::LineOffsets::LineOffsets): Added.
3272 (WebCore::LineOffsets::width): Added.
3273 (WebCore::LineOffsets::setLeft): Added.
3274 (WebCore::LineOffsets::setRight): Added.
3275 (WebCore::RenderBlock::findNextLineBreak): Calls skipLeadingWhitespace and positionNewFloatOnLine.
3276 (WebCore::RenderBlock::positionNewFloatOnLine): Takes LineOffsets instead of two integers.
3278 2011-04-06 David Hyatt <hyatt@apple.com>
3280 Reviewed by Dan Bernstein.
3282 https://bugs.webkit.org/show_bug.cgi?id=57916
3284 Implement an optimization to the line box tree to cull out most of the intermediate
3285 line boxes that can occur between the root line box and the leaves of the tree (images
3288 RenderInlines now have a boolean member, m_alwaysCreateLineBoxes,
3289 that starts off as false. Only if it gets flipped to true will there be any line boxes
3290 created for that RenderInline.
3292 * page/FocusController.cpp:
3293 (WebCore::FocusController::advanceFocusDirectionally):
3294 Adjust the ordering of updateLayout calls to make sure rects aren't queried unless layout
3297 * page/SpatialNavigation.cpp:
3298 (WebCore::hasOffscreenRect):
3299 (WebCore::nodeRectInAbsoluteCoordinates):
3300 Add asserts in spatial navigation code to catch any future bad queries that might be made
3301 for rectangles without layout being up to date.
3303 * platform/graphics/FloatRect.cpp:
3304 (WebCore::FloatRect::uniteIfNonZero):
3305 * platform/graphics/FloatRect.h:
3306 * platform/graphics/IntRect.cpp:
3307 (WebCore::IntRect::uniteIfNonZero):
3308 * platform/graphics/IntRect.h:
3309 Add a new unite function that is useful for the render tree to FloatRect and IntRect. This
3310 version allows rect unites to happen if either width or height is nonzero.
3312 * rendering/HitTestResult.cpp:
3313 (WebCore::HitTestResult::addNodeToRectBasedTestResult):
3314 Make sure rect-based hit testing properly adds in culled inline ancestors to the set of nodes
3315 if content inside those inlines is hit.
3317 * rendering/InlineBox.h:
3318 (WebCore::InlineBox::logicalFrameRect):
3319 Fix a bug in this function for obtaining the logical frame rect of an inline box.
3321 * rendering/InlineFlowBox.cpp:
3322 (WebCore::InlineFlowBox::addToLine):
3323 addToLine now also checks line gap in the line box tree optimization checks.
3325 (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
3326 (WebCore::InlineFlowBox::computeOverflow):
3327 * rendering/InlineFlowBox.h:
3328 Rewritten to add the text box overflow to the text box itself.
3330 * rendering/InlineTextBox.cpp:
3331 (WebCore::InlineTextBox::destroy):
3332 Destroy has been changed to call a helper function to remove and destroy the line boxes that
3333 is now called from one additional spot.
3335 (WebCore::InlineTextBox::logicalOverflowRect):
3336 (WebCore::InlineTextBox::setLogicalOverflowRect):
3337 Text boxes now cache their own overflow in a global hash table.
3339 (WebCore::InlineTextBox::baselinePosition):
3340 (WebCore::InlineTextBox::lineHeight):
3341 Changed to not assume that the parent line box's renderer is the RenderText's immediate
3342 parent, since intermediate line boxes may have been culled.
3344 (WebCore::InlineTextBox::paint):
3345 Paint now properly checks only the text box overflow instead of the parent line box's overflow.
3347 * rendering/InlineTextBox.h:
3348 (WebCore::InlineTextBox::logicalTopVisualOverflow):
3349 (WebCore::InlineTextBox::logicalBottomVisualOverflow):
3350 (WebCore::InlineTextBox::logicalLeftVisualOverflow):
3351 (WebCore::InlineTextBox::logicalRightVisualOverflow):
3352 New accessors to obtain overflow for inline text boxes.
3354 * rendering/RenderBlock.cpp:
3355 (WebCore::RenderBlock::updateFirstLetter):
3356 updateFirstLetter now removes text boxes from the line box tree before it destroys them, since those
3357 text boxes may not have anything in between them and the block that contains the inline first letter
3360 * rendering/RenderBlockLineLayout.cpp:
3361 (WebCore::RenderBlock::createLineBoxes):
3362 The culling optimization is done here. Only if the RenderInline says that boxes are allowed will they
3365 (WebCore::RenderBlock::layoutInlineChildren):
3366 The state of the RenderInline is updated here, in case it is discovered that line boxes are now needed.
3367 This is done before any lines are built.
3369 * rendering/RenderInline.cpp:
3370 (WebCore::RenderInline::RenderInline):
3371 The new m_alwaysCreateLineBoxes flag has been added to the constructor.
3373 (WebCore::RenderInline::styleDidChange):
3374 An initial update of the m_alwaysCreateLineBoxes happens here for things that can be checked immediately
3375 (like having a layer, borders, padding, margins or backgrounds). Some checks that depend on examining
3376 the RenderInline's parent (including first line styles) happen later in layoutInlineChildren.
3378 (WebCore::RenderInline::updateAlwaysCreateLineBoxes):
3379 The function called by layoutInlineChildren to check parent and child style differences (e.g., font,
3380 vertical alignment, line height, etc.).
3382 (WebCore::RenderInline::absoluteRects):
3383 (WebCore::RenderInline::culledInlineAbsoluteRects):
3384 absoluteRects calls culledInlineAbsoluteRects when m_alwaysCreateLineBoxes is false.
3386 (WebCore::RenderInline::absoluteQuads):
3387 (WebCore::RenderInline::culledInlineAbsoluteQuads):
3388 absoluteQuads calls culledInlineAbsoluteQuads when m_alwaysCreateLineBoxes is false.
3390 (WebCore::RenderInline::offsetLeft):
3391 (WebCore::RenderInline::offsetTop):
3392 offsetLeft and offsetTop now check descendant renderers when m_alwaysCreateLineBoxes is false.
3394 (WebCore::RenderInline::linesBoundingBox):
3395 (WebCore::RenderInline::culledInlineBoundingBox):
3396 lineBoundingBox calls culledInlineBoundingBox when m_alwaysCreateLineBoxes is false.
3398 (WebCore::RenderInline::culledInlineFirstLineBox):
3399 (WebCore::RenderInline::culledInlineLastLineBox):
3400 Helpers that return the first and last line box descendants. Used by firstLineBoxIncludingCulling and
3401 lastLineBoxIncludingCulling (which are in turn called by offsetLeft and offsetTop).
3403 (WebCore::RenderInline::culledInlineVisualOverflowBoundingBox):
3404 (WebCore::RenderInline::linesVisualOverflowBoundingBox):
3405 linesVisualOverflowBoundingBox calls culledInlineVisualOverflowBoundingBox when m_alwaysCreateLineBoxes is false.
3407 (WebCore::RenderInline::clippedOverflowRectForRepaint):
3408 The initial bailout check is now done using firstLineBoxIncludingCulling instead of just firstLineBox.
3410 (WebCore::RenderInline::dirtyLineBoxes):
3411 dirtyLineBoxes now crawls into descendants to figure out which root lines to dirty when
3412 m_alwaysCreateLineBoxes is false.
3414 (WebCore::RenderInline::createAndAppendInlineFlowBox):
3415 Clear the m_alwaysCreateLineBoxes if a box gets added anyway. This happens for leaf inline flows and also
3416 when line-box-contain is set to an unusual value.
3418 (WebCore::RenderInline::addFocusRingRects):
3419 Used culledInlineAbsoluteRects in place of the line box walk when m_alwaysCreateLineBoxes is false.
3421 * rendering/RenderInline.h:
3422 (WebCore::RenderInline::firstLineBoxIncludingCulling):
3423 (WebCore::RenderInline::lastLineBoxIncludingCulling):
3424 Helpers used in a few places (like offsetLeft and offsetTop), mostly in places where the existence of a box
3425 is all that needs checking.
3427 (WebCore::RenderInline::alwaysCreateLineBoxes):
3428 (WebCore::RenderInline::setAlwaysCreateLineBoxes):
3429 Functions for getting and setting the m_alwaysCreateLineBoxes flag.
3431 * rendering/RenderLineBoxList.cpp:
3432 (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
3433 Modified to use firstLineBoxIncludingCulling and lastLineBoxIncludingCulling to ensure the right set of
3436 * rendering/RenderText.cpp:
3437 (WebCore::RenderText::removeAndDestroyTextBoxes):
3438 New helper invoked by destroy and also from updateFirstLetter.
3440 (WebCore::RenderText::destroy):
3441 Changed to call removeAndDestroyTextBoxes.
3443 (WebCore::RenderText::absoluteRects):
3444 Fixed to be properly physical instead of logical.
3446 (WebCore::RenderText::linesVisualOverflowBoundingBox):
3447 New implementation for RenderText that gives the bounding box of the text boxes including overflow from
3448 shadows, glyphs, text-stroke, etc. Used by RenderInline::culledInlineVisualOverflowBoundingBox.
3450 * rendering/RenderText.h:
3451 * rendering/svg/RenderSVGInline.cpp:
3452 (WebCore::RenderSVGInline::RenderSVGInline):
3453 RenderSVGInline always sets m_alwaysCreateLineBoxes to true so that SVG is unaffected by this optimization.
3455 * rendering/svg/SVGRootInlineBox.cpp:
3456 (WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes):
3457 (WebCore::SVGRootInlineBox::layoutChildBoxes):
3458 Move the isInlineFlowBox asserts to after the generated content skips, since the generated content boxes are
3459 now InlineTextBoxes (the enclosing InlineFlowBoxes got culled).
3461 2011-04-05 Enrica Casucci <enrica@apple.com>
3463 Reviewed by Darin Adler.
3465 REGRESSION: Drag & Drop Gmail Attachments doesn't work.
3466 https://bugs.webkit.org/show_bug.cgi?id=57909
3467 <rdar://problem/9103220>
3469 In WebKit2 we cannot rely on the value returned by platformData() that
3470 on Mac returns an NSDraggingInfo object. This is available only in the UI
3471 process. Therefore we should use m_pasteboard instead.
3472 We cannot change what platformData() returns on Mac, since there are
3473 delegate methods that receive a NSDraggingInfo object (only in WebKit).
3475 * platform/DragData.h:
3476 (WebCore::DragData::pasteboard): Added.
3477 * platform/mac/ClipboardMac.mm:
3478 (WebCore::Clipboard::create): Changed to use pasteboard() instead of platformData().
3479 * platform/mac/DragDataMac.mm:
3480 (WebCore::DragData::asColor): Replaced references to m_platformData with m_pasteboard.
3481 (WebCore::DragData::asURL): Same as above.
3483 2011-04-06 Benjamin Poulain <benjamin.poulain@nokia.com>
3485 Reviewed by Darin Adler.
3487 ClipboardWin has unused variables "ExceptionCode ec"
3488 https://bugs.webkit.org/show_bug.cgi?id=57952
3490 Remove the unused variable.
3492 * platform/win/ClipboardWin.cpp:
3493 (WebCore::ClipboardWin::declareAndWriteDragImage):
3494 (WebCore::ClipboardWin::writePlainText):
3496 2011-04-06 Ryosuke Niwa <rniwa@webkit.org>
3498 Reviewed by Dimitri Glazkov.
3500 Split getBorderPaddingMargin into two functions
3501 https://bugs.webkit.org/show_bug.cgi?id=57947
3503 * rendering/RenderBlockLineLayout.cpp:
3504 (WebCore::borderPaddingMarginStart): Extracted from getBorderPaddingMargin.
3505 (WebCore::borderPaddingMarginEnd): Ditto.
3506 (WebCore::inlineLogicalWidth): Calls borderPaddingMarginStart and borderPaddingMarginEnd.
3507 (WebCore::RenderBlock::findNextLineBreak): Ditto.
3509 2011-04-06 MORITA Hajime <morrita@google.com>
3511 Reviewed by Dimitri Glazkov.
3513 [Refactoring] <progress> should not have manual layout code.
3514 https://bugs.webkit.org/show_bug.cgi?id=57801
3516 - Simplified RenderProgress, removing its custom layout code
3517 - Introducing ProgressValueElement and ProgressBarElement, replacing
3518 ProgressBarValueElement.
3520 Now the structure is almost identical to <meter>,
3522 - RenderProgress has animated painting, thus manages its own timer.
3523 - Both ProgressValueElement and ProgressBarElement has pseudo classes
3524 which don't changes during its lifetime.
3531 * WebCore.vcproj/WebCore.vcproj:
3532 * WebCore.xcodeproj/project.pbxproj:
3535 (progress::-webkit-progress-bar):
3536 (progress::-webkit-progress-value):
3537 * html/HTMLProgressElement.cpp:
3538 (WebCore::HTMLProgressElement::~HTMLProgressElement):
3539 (WebCore::HTMLProgressElement::create):
3540 (WebCore::HTMLProgressElement::attach):
3541 (WebCore::HTMLProgressElement::didElementStateChange):
3542 (WebCore::HTMLProgressElement::createShadowSubtree):
3543 * html/HTMLProgressElement.h:
3544 * html/shadow/ProgressShadowElement.cpp: Copied from Source/WebCore/html/shadow/ProgressBarValueElement.h.
3545 (WebCore::ProgressShadowElement::ProgressShadowElement):
3546 (WebCore::ProgressShadowElement::progressElement):
3547 (WebCore::ProgressShadowElement::rendererIsNeeded):
3548 (WebCore::ProgressBarElement::shadowPseudoId):
3549 (WebCore::ProgressValueElement::shadowPseudoId):
3550 (WebCore::ProgressValueElement::setWidthPercentage):
3551 * html/shadow/ProgressShadowElement.h: Renamed from Source/WebCore/html/shadow/ProgressBarValueElement.h.
3552 (WebCore::ProgressBarElement::ProgressBarElement):
3553 (WebCore::ProgressBarElement::create):
3554 (WebCore::ProgressValueElement::ProgressValueElement):
3555 (WebCore::ProgressValueElement::create):
3556 * rendering/RenderProgress.cpp:
3557 (WebCore::RenderProgress::RenderProgress):
3558 (WebCore::RenderProgress::updateFromElement):
3559 (WebCore::RenderProgress::animationTimerFired):
3560 * rendering/RenderProgress.h:
3561 (WebCore::RenderProgress::requiresForcedStyleRecalcPropagation):
3562 (WebCore::RenderProgress::canHaveChildren):
3564 2011-04-06 Mario Sanchez Prada <msanchez@igalia.com>
3566 Reviewed by Chris Fleizach.
3568 [GTK] Do not reference AccessibilityRenderObject from platform dependent code
3569 https://bugs.webkit.org/show_bug.cgi?id=57955
3571 Do not reference AccessibilityRenderObject from platform specific code
3573 Added new virtual functions to AccessibilityObject.h and removed
3574 explicit references to AccessibilityRenderObject from GTK code.
3576 * accessibility/AccessibilityObject.h:
3577 (WebCore::AccessibilityObject::renderer): New virtual method,
3578 returning 0 by default. Overriden by AccessibilityRenderObject.
3579 (WebCore::AccessibilityObject::correspondingLabelForControlElement):
3580 New virtual method, returning 0 by default. It complements the
3581 already present method correspondingControlForLabelElement().
3583 * accessibility/AccessibilityRenderObject.h:
3584 (WebCore::AccessibilityRenderObject::renderer): Made virtual.
3586 * accessibility/gtk/AXObjectCacheAtk.cpp:
3587 (WebCore::emitTextChanged): Reference AccessibilityObject,
3588 instead of AccessibilityRenderObject.
3589 (WebCore::AXObjectCache::nodeTextChangePlatformNotification):
3592 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3593 (webkit_accessible_get_name): Do not reference
3594 AccessibilityRenderObject.
3595 (webkit_accessible_get_description): Ditto.
3596 (setAtkRelationSetFromCoreObject): Ditto.
3597 (optionFromList): Ditto.
3598 (optionFromSelection): Ditto.
3599 (webkit_accessible_selection_clear_selection): Ditto.
3600 (webkit_accessible_selection_get_selection_count): Ditto.
3601 (webkit_accessible_selection_select_all_selection): Ditto.
3602 (textForObject): Ditto.
3603 (webkit_accessible_text_get_text): Ditto.
3604 (getPangoLayoutForAtk): Ditto.
3605 (webkit_accessible_text_get_caret_offset): Ditto.
3606 (baselinePositionForRenderObject): Ditto.
3607 (getAttributeSetForAccessibilityObject): Ditto.
3608 (accessibilityObjectLength): Ditto.
3609 (getSelectionOffsetsForObject): Ditto.
3610 (webkit_accessible_text_set_selection): Ditto.
3611 (webkit_accessible_text_set_caret_offset): Ditto.
3612 (webkit_accessible_table_get_caption): Ditto.
3613 (getInterfaceMaskFromObject): Ditto.
3615 * accessibility/gtk/WebKitAccessibleHyperlink.cpp:
3616 (getRangeLengthForObject): Ditto.
3618 Removed unused renderer() method from AccessibilityMenuList.
3620 * accessibility/AccessibilityMenuList.h: Removed unused method.
3621 * accessibility/AccessibilityMenuList.cpp: Removed unused method.
3623 2011-04-06 Alexander Pavlov <apavlov@chromium.org>
3625 Reviewed by Pavel Feldman.
3627 Web Inspector: Javascipt warning link expand and overlap with icons in js console
3628 https://bugs.webkit.org/show_bug.cgi?id=57939
3630 * inspector/front-end/inspector.js:
3631 (WebInspector.linkifyURLAsNode):
3633 2011-04-06 Alexander Pavlov <apavlov@chromium.org>
3635 Reviewed by Pavel Feldman.
3637 Web Inspector: Beautify parameter names in Inspector.json (CSS domain)
3638 https://bugs.webkit.org/show_bug.cgi?id=57931
3640 * inspector/Inspector.json:
3642 2011-04-06 Jia Pu <jpu@apple.com>
3644 Reviewed by Darin Adler.
3646 [Mac] WebCore need to notify AppKit spell checker after user has modified autocorrected text.
3647 https://bugs.webkit.org/show_bug.cgi?id=57665
3648 <rdar://problem/7350477>
3650 We need to track how user modified an autocorrected word. If he changed it back to original
3651 text, we want to record AutocorrectionReverted response. And if he changed it to something
3652 else, we want to record AutocorrectionEdited response.
3654 To achieve this, we need to distringuish between text replacement caused by autocorrection
3655 from that due to other causes, such as reversion, text substitution, etc. So we added a new
3656 marker type "Autocorrected". We also need to be able to check for correction, even when we
3657 don't intend to actually carry out replacement. For this, we introduced a new TextCheckingOption
3658 value, "CheckForCorrection".
3660 We also added DocumentMarkerController::markersInRange() to retrieve a vector of markers in
3661 specified range, and of specified type.
3663 * dom/DocumentMarker.h:
3664 * dom/DocumentMarkerController.cpp:
3665 (WebCore::DocumentMarkerController::markersInRange):
3666 (WebCore::DocumentMarkerController::hasMarkers):
3667 * dom/DocumentMarkerController.h:
3668 * editing/Editor.cpp:
3669 (WebCore::markerTypesForAutocorrection):
3670 (WebCore::markersHaveIdenticalDescription):
3671 (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
3672 (WebCore::Editor::recordSpellcheckerResponseForModifiedCorrection):
3673 (WebCore::Editor::changeBackToReplacedString):
3674 (WebCore::Editor::markMisspellingsAndBadGrammar):
3675 (WebCore::Editor::applyCorrectionPanelInfo):
3676 (WebCore::Editor::unappliedSpellCorrection):
3677 (WebCore::Editor::textCheckingTypeMaskFor):
3679 * editing/SpellingCorrectionCommand.cpp:
3680 (WebCore::SpellingCorrectionCommand::doApply):
3682 2011-04-06 Sheriff Bot <webkit.review.bot@gmail.com>
3684 Unreviewed, rolling out r83045.
3685 http://trac.webkit.org/changeset/83045
3686 https://bugs.webkit.org/show_bug.cgi?id=57953
3688 Broke win layout tests (Requested by podivilov on #webkit).
3691 * inspector/front-end/DebuggerPresentationModel.js:
3692 (WebInspector.DebuggerPresentationModel.prototype._addScript):
3693 (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
3695 2011-04-06 Ryosuke Niwa <rniwa@webkit.org>
3697 Moved the declaration of positionNewFloatOnLine in RenderBlock.h after r83042.
3699 * rendering/RenderBlock.h:
3701 2011-03-27 Diego Gonzalez <diegohcg@webkit.org>
3703 Reviewed by Kenneth Rohde Christiansen.
3705 [Qt] Re-draw the <input> fields for Qt Mobile Theme to do not override elements already styled.
3706 https://bugs.webkit.org/show_bug.cgi?id=57007
3708 * CodeGenerators.pri:
3709 * css/themeQtMobile.css: Removed.
3710 * platform/qt/QtMobileWebStyle.cpp:
3711 (drawRectangularControlBackground):
3712 (QtMobileWebStyle::drawPrimitive):
3713 (QtMobileWebStyle::drawComplexControl):
3714 * platform/qt/QtMobileWebStyle.h:
3715 * platform/qt/RenderThemeQt.cpp:
3716 (WebCore::RenderThemeQt::isControlStyled):
3717 (WebCore::RenderThemeQt::paintTextField):
3719 2011-04-06 Jia Pu <jpu@apple.com>
3721 Reviewed by Darin Adler.
3723 [Mac] When autocorrection occurs without showing correction panel, WebCore need to post accessibility notification.
3724 https://bugs.webkit.org/show_bug.cgi?id=57800
3725 <rdar://problem/9218223>
3727 Defined a new accessibility notification type, AXAutocorrectionOccured. Editor::markAllMisspellingsAndBadGrammarInRanges()
3728 now posts said notification when any autocorrection or text replacement (e.g. replacing "(c)" with copyright mark) takes place.
3730 * accessibility/AXObjectCache.h:
3731 * accessibility/chromium/AXObjectCacheChromium.cpp:
3732 (WebCore::AXObjectCache::postPlatformNotification):
3733 * accessibility/mac/AXObjectCacheMac.mm:
3734 (WebCore::AXObjectCache::postPlatformNotification):
3735 * editing/Editor.cpp:
3736 (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
3738 2011-04-06 Martin Robinson <mrobinson@igalia.com>
3740 Build fix for debug Cairo builds.
3742 * platform/graphics/cairo/PlatformContextCairo.cpp:
3743 (WebCore::PlatformContextCairo::pushImageMask): Update the reference to m_maskInformation.
3745 2011-04-06 Diego Gonzalez <diegohcg@webkit.org>
3747 Reviewed by Antonio Gomes.
3749 [Qt] Style fix for QtMobileWebStyle.h
3750 https://bugs.webkit.org/show_bug.cgi?id=57708
3752 * platform/qt/QtMobileWebStyle.h:
3754 2011-04-06 Andras Becsi <abecsi@webkit.org>
3756 Reviewed by Darin Adler.
3758 Invalid color #{predefined colorName} is accepted by the CSS parser.
3759 https://bugs.webkit.org/show_bug.cgi?id=15360
3761 Test: fast/css/invalid-predefined-color.html
3763 * css/CSSGrammar.y: Remove superfluous hexcolor production.
3764 * css/tokenizer.flex: A hexadecimal number should consist of [a-fA-F0-9] values ({h}).
3766 2011-03-30 Pavel Podivilov <podivilov@chromium.org>
3768 Reviewed by Pavel Feldman.
3770 Web Inspector: add test for script formatter worker.
3771 https://bugs.webkit.org/show_bug.cgi?id=57447
3773 Test: inspector/debugger/script-formatter.html
3776 * inspector/front-end/DebuggerPresentationModel.js:
3777 (WebInspector.DebuggerPresentationModel):
3778 (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
3780 2011-04-06 Martin Robinson <mrobinson@igalia.com>
3782 Reviewed by Xan Lopez.
3784 [Cairo] Hide the details of image masking in PlatformContextCairo
3785 https://bugs.webkit.org/show_bug.cgi?id=57878
3787 No new tests. This is just a refactor.
3789 * platform/graphics/GraphicsContext.h:
3790 * platform/graphics/cairo/GraphicsContextCairo.cpp:
3791 (WebCore::GraphicsContext::savePlatformState): Call into PlatformContextCairo now to
3792 do the actual cairo_save. Remove information about image masking.
3793 (WebCore::GraphicsContext::restorePlatformState): Call into PlatformContextCairo now to
3794 do the actual cairo_restore. Remove information about image masking.
3795 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
3796 * platform/graphics/cairo/ImageBufferCairo.cpp:
3797 (WebCore::ImageBuffer::clip): Use PlatformContextCairo here now.
3798 * platform/graphics/cairo/PlatformContextCairo.cpp:
3799 (WebCore::PlatformContextCairo::restore): Added.
3800 (WebCore::PlatformContextCairo::save): Added.
3801 (WebCore::PlatformContextCairo::pushImageMask): Added.
3802 * platform/graphics/cairo/PlatformContextCairo.h:
3803 (WebCore::ImageMaskInformation::update): Moved from GraphicsContextPlatformPrivateCairo.h.
3804 (WebCore::ImageMaskInformation::isValid): Ditto.
3805 (WebCore::ImageMaskInformation::maskSurface): Ditto.
3806 (WebCore::ImageMaskInformation::maskRect): Ditto.
3808 2011-04-02 Diego Gonzalez <diegohcg@webkit.org>
3810 Reviewed by Csaba Osztrogonác.
3812 [Qt] Radio buttons are showing wrong with mobile theme
3813 https://bugs.webkit.org/show_bug.cgi?id=57706
3815 * platform/qt/QtMobileWebStyle.cpp:
3816 (QtMobileWebStyle::drawRadio):
3818 2011-04-06 Ryosuke Niwa <rniwa@webkit.org>
3820 Reviewed by Eric Seidel.
3822 Move RenderBlock::positionNewFloatOnLine to RenderBlockLineLayout.cpp
3823 https://bugs.webkit.org/show_bug.cgi?id=57943
3825 * rendering/RenderBlock.cpp: Removed positionNewFloatOnLine.
3826 * rendering/RenderBlockLineLayout.cpp:
3827 (WebCore::RenderBlock::positionNewFloatOnLine): Moved from RenderBlock.cpp
3829 2011-04-05 Diego Gonzalez <diegohcg@webkit.org>
3831 Buildfix after r82125.
3833 [Qt] QtWebKit will not compile with QT_ASCII_CAST_WARNINGS enabled
3834 https://bugs.webkit.org/show_bug.cgi?id=57087
3836 * platform/qt/QtMobileWebStyle.cpp:
3837 (QtMobileWebStyle::findChecker):
3838 (QtMobileWebStyle::findRadio):
3839 (QtMobileWebStyle::findComboButton):
3841 2011-04-06 Pavel Podivilov <podivilov@chromium.org>
3843 Reviewed by Yury Semikhatsky.
3845 Web Inspector: inline script imports in ScriptFormatterWorker.js so it works in Safari release.
3846 https://bugs.webkit.org/show_bug.cgi?id=57641
3848 * WebCore.xcodeproj/project.pbxproj:
3849 * gyp/streamline-inspector-source.sh:
3850 * inspector/combine-javascript-resources.pl: Renamed from Source/WebCore/combine-javascript-resources.
3851 * inspector/inline-javascript-imports.py: Added.
3853 2011-04-06 Ryosuke Niwa <rniwa@webkit.org>
3855 Reviewed by Eric Seidel.
3857 REGRESSION (r46914, r48764): When typing in Mail, line wrapping frequently occurs in the middle of words
3858 https://bugs.webkit.org/show_bug.cgi?id=57872
3860 r46914 initially introduced a regression by replacing calls to styleAtPosition by editingStyleAtPosition
3861 because editingStyleAtPosition did not avoid tab span to obtain the computed style unlike styleAtPosition.
3863 r46914 also introduced a regression by cloning hierarchy under new block at the insertion position without
3864 avoiding the tab span.
3866 Fixed the both regressions by avoiding tab spans when computing the editing style and when cloning hierarchy.
3868 Test: editing/inserting/insert-paragraph-separator-tab-span.html
3870 * editing/EditingStyle.cpp:
3871 (WebCore::EditingStyle::init): Always avoid a tab span when computing the editing style.
3872 * editing/InsertParagraphSeparatorCommand.cpp:
3873 (WebCore::InsertParagraphSeparatorCommand::doApply): Avoid cloning tab spans and inserting a paragraph
3874 separator into a paragraph separator.
3876 2011-04-06 Levi Weintraub <leviw@chromium.org>
3878 Reviewed by Ryosuke Niwa.
3880 Add member functions for determining line/paragraph separation to InlineIterator
3881 https://bugs.webkit.org/show_bug.cgi?id=57938
3883 Adding atTextParagraphSeparator and atParagraphSeparator inline convenience functions to
3884 InlineIterator, where it makes far more sense for them to be. Also moving
3885 shouldPreserveNewline to RenderObject and renaming it preservesNewline.
3887 No new tests as this provides no new functionality.
3889 * rendering/InlineIterator.h:
3890 (WebCore::InlineIterator::atTextParagraphSeparator):
3891 (WebCore::InlineIterator::atParagraphSeparator):
3892 * rendering/RenderBlockLineLayout.cpp:
3893 (WebCore::RenderBlock::requiresLineBox):
3894 (WebCore::RenderBlock::findNextLineBreak):
3895 * rendering/RenderObject.h:
3896 (WebCore::RenderObject::preservesNewline):
3898 2011-04-05 Alexander Pavlov <apavlov@chromium.org>
3900 Reviewed by Pavel Feldman.
3902 Web Inspector: Range insertNode function does not update content in the inspector
3903 https://bugs.webkit.org/show_bug.cgi?id=57829
3905 * inspector/InspectorDOMAgent.cpp:
3906 (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
3907 (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
3909 2011-04-06 Alejandro G. Castro <alex@igalia.com>
3911 Fix GTK3 compilation after r82962.
3913 * platform/gtk/RenderThemeGtk3.cpp:
3914 (WebCore::paintToggle):
3915 (WebCore::renderButton):
3916 (WebCore::RenderThemeGtk::paintMenuList):
3917 (WebCore::RenderThemeGtk::paintTextField):
3918 (WebCore::RenderThemeGtk::paintSliderTrack):
3919 (WebCore::RenderThemeGtk::paintSliderThumb):
3920 (WebCore::RenderThemeGtk::paintProgressBar):
3921 (WebCore::paintSpinArrowButton):
3922 * platform/gtk/ScrollbarThemeGtk3.cpp:
3923 (WebCore::ScrollbarThemeGtk::paintTrackBackground):
3924 (WebCore::ScrollbarThemeGtk::paintScrollbarBackground):
3925 (WebCore::ScrollbarThemeGtk::paintThumb):
3926 (WebCore::ScrollbarThemeGtk::paintButton):
3928 2011-04-06 Andrey Kosyakov <caseq@chromium.org>
3930 Reviewed by Yury Semikhatsky.
3932 Web Inspector: [Extensions API] remove inspectedPage.* events
3933 https://bugs.webkit.org/show_bug.cgi?id=57763
3935 - Removed webInspector.inspectedPage.* events
3936 - moved onNavigated to webInspector.resources
3938 * inspector/front-end/ExtensionAPI.js:
3939 (WebInspector.injectedExtensionAPI):
3940 (WebInspector.injectedExtensionAPI.InspectedWindow):
3941 * inspector/front-end/ExtensionAPISchema.json:
3942 * inspector/front-end/ExtensionServer.js:
3943 (WebInspector.ExtensionServer.prototype.notifyInspectedURLChanged):
3944 * inspector/front-end/inspector.js:
3945 (WebInspector.domContentEventFired):
3946 (WebInspector.loadEventFired):
3947 (WebInspector.inspectedURLChanged):
3949 2011-04-06 Joseph Pecoraro <joepeck@webkit.org>
3951 Reviewed by Antti Koivisto.
3953 Add <head> to the simpleUserAgentStyleSheet
3954 https://bugs.webkit.org/show_bug.cgi?id=57915
3956 * css/CSSStyleSelector.cpp:
3957 (WebCore::elementCanUseSimpleDefaultStyle): add head to the
3958 simple stylesheet, display:none.
3960 2011-04-05 Mikhail Naganov <mnaganov@chromium.org>
3962 Reviewed by Pavel Feldman.
3964 Web Inspector: [Chromium] Add layout test for Summary view of detailed heap snapshots.
3965 https://bugs.webkit.org/show_bug.cgi?id=57856
3967 Test: inspector/profiler/detailed-heapshots-summary.html
3969 * inspector/front-end/DataGrid.js:
3970 (WebInspector.DataGrid):
3971 * inspector/front-end/DetailedHeapshotGridNodes.js:
3972 (WebInspector.HeapSnapshotGridNode.prototype._populate.doPopulate):
3973 (WebInspector.HeapSnapshotGridNode.prototype._populate):
3974 (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
3975 (WebInspector.HeapSnapshotGridNode.prototype.sort.doSort):
3976 (WebInspector.HeapSnapshotGridNode.prototype.sort):
3977 (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren):
3978 * inspector/front-end/DetailedHeapshotView.js:
3979 (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged):
3980 * inspector/front-end/ProfilesPanel.js:
3981 (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.doParse):
3982 (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
3984 2011-04-06 Anders Bakken <agbakken@gmail.com>
3986 Reviewed by David Levin.
3988 [Qt] SmartReplaceQt.cpp has coding-style errors
3989 https://bugs.webkit.org/show_bug.cgi?id=40261
3991 This patch does not require new test cases.
3993 * editing/qt/SmartReplaceQt.cpp:
3994 (WebCore::isCharacterSmartReplaceExempt):
3996 2011-04-06 Naoki Takano <takano.naoki@gmail.com>
3998 Reviewed by Ryosuke Niwa.
4000 REGRESSION(r81328): Null pointer crash in canAppendNewLineFeed when selection isn't inside an editable element
4001 https://bugs.webkit.org/show_bug.cgi?id=57755
4003 Test: editing/execCommand/insert-line-break-onload.html
4005 * editing/TypingCommand.cpp:
4006 (WebCore::canAppendNewLineFeed): Added null pointer check for rootEditableElement().
4008 2011-04-05 Antti Koivisto <antti@apple.com>
4010 Reviewed by Cameron Zwarich.
4012 Avoid calling currentTime() from FrameView::adjustedDeferredRepaintDelay() when repaints are deferred
4013 https://bugs.webkit.org/show_bug.cgi?id=57914
4015 Don't call adjustedDeferredRepaintDelay unnecessarily.
4017 * page/FrameView.cpp:
4018 (WebCore::FrameView::repaintContentRectangle):
4019 (WebCore::FrameView::adjustedDeferredRepaintDelay):
4021 2011-04-05 Steve VanDeBogart <vandebo@chromium.org>
4023 Reviewed by David Levin.
4025 Update call to SkAdvancedTypefaceMetrics to new API.
4026 https://bugs.webkit.org/show_bug.cgi?id=57887
4028 * platform/graphics/chromium/FontPlatformDataLinux.cpp:
4029 (WebCore::FontPlatformData::emSizeInFontUnits):
4031 2011-04-05 Alexey Proskuryakov <ap@apple.com>
4033 Reviewed by Darin Adler.
4035 Rename event dispatching functions after form event removal
4036 https://bugs.webkit.org/show_bug.cgi?id=57908
4038 * dom/InputElement.cpp:
4039 (WebCore::InputElement::setValueFromRenderer):
4041 (WebCore::Node::dispatchChangeEvent):
4042 (WebCore::Node::dispatchInputEvent):
4043 (WebCore::Node::defaultEventHandler):
4045 * html/HTMLFormControlElement.cpp:
4046 (WebCore::HTMLFormControlElement::dispatchFormControlChangeEvent):
4047 (WebCore::HTMLFormControlElement::dispatchFormControlInputEvent):
4048 (WebCore::HTMLTextFormControlElement::dispatchFormControlChangeEvent):
4049 Renamed "events" to "event", since there is only one event to dispatch now.
4051 2011-04-05 Anders Bakken <agbakken@gmail.com>
4053 Reviewed by David Levin.
4055 [Qt] DragControllerQt.cpp has coding-style errors
4056 https://bugs.webkit.org/show_bug.cgi?id=40258
4058 This patch does not require new test cases.
4060 * page/qt/DragControllerQt.cpp:
4061 (WebCore::DragController::dragOperation):
4063 2011-04-05 Steve VanDeBogart <vandebo@chromium.org>
4065 Reviewed by David Levin.
4067 Update deprecated include: platform_canvas_win.h to platform_canvas.h.
4068 https://bugs.webkit.org/show_bug.cgi?id=57896
4070 * platform/graphics/chromium/FontChromiumWin.cpp:
4072 2011-04-05 Darin Adler <darin@apple.com>